2

選択をクリアするコードで問題が発生しました。

$('select').children(':selected').removeProp('selected');

次のように変更ハンドラをバインドします。

$('#categories').on('change', function(event) {
   var category = $(this).children("option:selected").text();
   ...
});

これは、選択したプロパティが削除された場所からオプションを再度選択しない限り機能しますcategory = ''

私は確かに何か間違ったことをしています。誰かがそれに光を当てることができますか?

4

3 に答える 3

4

プロパティを完全に削除するselectedことは、最善の方法ではない場合があります。あなたの場合、DOMレイヤーは後で再作成しないように見えるため、:selectedセレクターは要素を見つけることができません。

false代わりにプロパティを次のように設定してみてください。

$("select").children(":selected").prop("selected", false);
于 2012-10-15T17:50:20.747 に答える
3

<select>ドロップダウンで選択した値をクリアしたい場合は、次を試してください。

$('select').val(-1);

例jsfiddle

于 2012-10-15T17:52:23.880 に答える
0

別の方法: これは常に最初のオプションを選択します。

$('select').find('option:eq(0)').prop('selected', true)

これは、@Frederic Hamidi の mdmullinax と私のものを比較する jsfiddle です。

http://jsfiddle.net/RzEBg/

于 2012-10-15T18:08:38.443 に答える