【问题标题】:MultiSelect Widget doesn't remove pre-selected options with this 'open' functionMultiSelect Widget 不会使用此“打开”功能删除预先选择的选项
【发布时间】:2024-01-17 12:08:01
【问题描述】:

当我添加此功能时,jQuery UI MultiSelect Widget 不再删除未选中的预选选项。如何在不失去取消选择选项的能力的情况下使此功能正常工作?

这里有一个演示问题的小提琴:http://jsfiddle.net/chayacooper/Mp2bK/10/

JS

$(function () {   
    $(".example").multiselect({
        open: function (event, ui) {
            var option = $(this).find("option[value*=default]");
            option.attr('value', option.attr('value').replace(/_default/g, ''));
        }
    });
});

HTML

<select name="example" class="example" multiple="multiple">  
    <option value="0">$0</option>
    <option value="50_default" selected="selected">$50</option>
    <option value="100">$100</option>
</select>

我正在为 apx 预先选择最常用的选项。 300 选择元素,并使用此功能来区分这些值何时仍处于初始预选/默认状态与用户通过单击表单元素主动选择该值(表明他们做了一个主动决定将其设置为该值)。

【问题讨论】:

    标签: jquery jquery-ui jquery-plugins multi-select


    【解决方案1】:

    查看文档,可以使用 refresh 方法来确保它是更新的。

    我加了

    $(".example").multiselect("refesh")
    

    向表单提交

    New fiddle

    【讨论】:

    • 非常感谢 :-D 表单提交功能只是为了提琴(因为它允许我查看将要提交的值)所以我将它移至“打开”功能,它是完美运行:-D
    最近更新 更多