行$( "。chosen-select")。val( '')。trigger( "chosen:updated");を使用します。 jqueryスクリプトでは、選択したフォームフィールドはリセットされません。 ただし、単一のドロップダウンでは問題なく機能します。
次のことを試してください。
$('.chosen-select option:selected').removeAttr('selected');
$('.chosen-select').trigger('chosen:updated');
それを試しましたが、複数に対して生成されるhtmlは単一選択とは異なります。
これがここです。
<div class="chosen-container chosen-container-multi" style="width: 100%;" title="" id="users_chosen">
<ul class="chosen-choices">
<li class="search-choice">
<span>Manus </span>
<a class="search-choice-close" data-option-array-index="1"></a>
</li>
<li class="search-field">
<input type="text" style="width: 25px;" autocomplete="off" class="" value="Choose users...">
</li>
</ul>
<div class="chosen-drop">
<ul class="chosen-results">
<li data-option-array-index="1" style="" class="result-selected">Manus </li>
<li data-option-array-index="2" style="" class="active-result">Owen </li>
<li data-option-array-index="3" style="" class="active-result">Sean </li>
<li data-option-array-index="4" style="" class="active-result">Sinead </li>
</ul>
</div>
</div>
どうもありがとうございました。私はこのオプションを探していて、StackOverflowサイトに投稿していましたが、何の反応もありませんでした。 このフォーラムはもっと活発に見えます:+1:
私はそのようなものでフォーム全体をリセットしようとしました:
var form = $('form');
form.get(0).reset();
form.find('.filterSelect').trigger('chosen:updated');
しかし、私は同様の問題を抱えています...単一のドロップダウンではすべてが正常に機能します。 しかし、複数選択にはプレースホルダーがありません。
複数選択では配列が値として期待されるため、jQueryを使用して配列をリセットするには、次を使用できます。
$('.chosen-select').val([]).trigger('chosen:updated')
ライブの例については、こちらをご覧ください: https ://jsfiddle.net/koenpunt/L1sd259w/
最も参考になるコメント
複数選択では配列が値として期待されるため、jQueryを使用して配列をリセットするには、次を使用できます。
ライブの例については、こちらをご覧ください: https ://jsfiddle.net/koenpunt/L1sd259w/