すべてを反復処理し、「選択した」属性を削除するように設定する必要がありますか、それともより良い方法がありますか?
<option>
内で選択したすべての<select>
タグを見つけ、selected
属性を削除するだけです:
$("#my_select option:selected").removeAttr("selected");
JQuery 1.6では、属性を削除する代わりに.prop
を使用する必要があります。
$("#my_select option:selected").prop("selected", false);
すべての選択をクリアするために、私はこのように使用しています。スクリプトは次のとおりです。
$("#ddlMultiselect").multiselect("clearSelection");
$("#ddlMultiselect").multiselect( 'refresh' );
すべての選択を削除する最短かつ最速の方法は、jQuery .val()関数に空の文字列を渡すことです。
$("#my_select").val('')
これは、複数選択またはリストボックスをクリアする最良の方法です。
$("#drp_assign_list option[value]").remove();
jQuery :selected セレクタはおそらくあなたが探しているものです。
JQueryの場合:
$("#id option:selected").prop("selected", false);
$("#id").multiselect('refresh');
$('.selectpicker').selectpicker('deselectAll');
https://developer.snapappointments.com/bootstrap-select/methods/
マルチセレクト(Jqueryプラグイン)
$( "#my_select option:selected")。removeAttr( "selected");
$( "#my_select")。multiselect( 'refresh');
Bootstrap David Selectsによる複数選択ドロップダウンを使用していると仮定します
$('#selectId').multiselect('deselectAll', false);
しかし、何らかの理由で初期化メソッド内では機能しません
JavaScriptでは、
配列になる複数選択ドロップダウンのすべてのオプションのリストを使用できます。次に、それをループして、各オブジェクトで選択された属性をfalseにします。
for(var i=0;i<list.length;i++)
{
if(list[i].Selected==true)
{
list[i].Selected=false;
}
}
空の配列を渡して、すべての選択を選択解除できます。以下に例を示します。 ドキュメント から
val()
を使用すると、要素値の配列を渡すことができます。これは、、、などの要素を含むjQueryオブジェクトで作業するときに便利です。この場合、配列の要素の1つに一致する値を持つ入力とオプションは、checkedまたはselected配列の要素の1つと一致しない値を持つものはuncheckedまたはunselected、タイプによって異なります。
$('.clearAll').on('click', function() {
$('.dropdown').val([]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="dropdown" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<button class='clearAll'>Clear All Selection</button>