استخدام السطر $ (". selected-select"). val (''). trigger ("selected: 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/