0

次の選択要素があります。

<select id="names" name="name">
   <option value="">Please select</option>
   <option value="1">Homba</option>
   <option value="2">Bamba</option>
</select>

だけもらいたい

<option value="1">Homba</option>
<option value="2">Bamba</option>

どうすればできますか?オプションの html 要素が必要です。jquery オブジェクトではありません。そのオプションを使用して、別の選択要素を作成します。

4

4 に答える 4

2

$('#names option[value!=""]')を持たないすべてのオプション要素を含む jQuery オブジェクトを返す必要がありますvalue=""

アップデート

要素のみが必要な場合は、次のようになります。option

var myOptions = jQuery.makeArray($('#names option[value!=""]').clone());

optionからコピーされ<select id="names" name="name">た、持っていない要素の配列を返しますvalue=""(そしてそれを という変数に格納しますmyOptions)。

一方、select一致するオプションを使用して別の要素を作成する場合は、返される jQuery オブジェクトの方が便利です

var newSelect = $('<select />').append($('#names option[value!=""]').clone());

上記のステートメントはoption要素を新しいselect要素にコピーし、jQuery オブジェクトを返します。このオブジェクトはnewSelect変数に格納され、好きな場所に DOM に追加できます。

デモンストレーション用のフィドルは次のとおりです。http://jsfiddle.net/3SUy7/

于 2013-06-09T04:57:55.127 に答える
1

空でない値を持つすべてのオプションを選択する必要がある場合:

$("option[value!='']")
于 2013-06-09T04:56:27.240 に答える
0
$("#names option[value='']").remove();

これにより、最初のオプションが削除されます

繰り返す

$("#names > option").each(function() {
    if( this.value != "")
        //do some thing
});

選ぶ

   $("#names option[value!='']")
于 2013-06-09T04:55:33.133 に答える
0
jQuery("#names option[value!='']")

また

jQuery("#names :not(option[value=''])")

これにより、値のないものを除くすべてのオプションが選択されます

于 2013-06-09T04:56:09.657 に答える