【问题标题】:Change Selection in Multi-Select via function in jQuery Plugin通过 jQuery 插件中的函数更改多选中的选择
【发布时间】:2021-08-04 16:11:12
【问题描述】:

我正在使用 jQuery 插件来实现多选选择 Plugin Github Demo。 现在我想人为地从另一个功能更改下拉菜单的选择。 所以我有的是这样的:

HTML 部分:

<select id="Fruits" name="Fruits" multiple="" style="display: none;">
    <option value="1">Number1</option>
    <option value="2">Number2</option>
    <option value="3">Number3</option>
</select>

然后我使用该代码来初始化菜单:

$(function(){
   $('#Fruits').multiSelect({'noneText':'Select Fruits'});
});

结果是:

现在我想通过运行另一个函数来选择某个选项:

由于我对 jQuery 不是很熟悉,我很难理解插件的源代码。到目前为止,我已经尝试过这样的事情:

$("#Fruits").data("plugin_multiSelect").updateButtonContents()

$("#Fruits").data("plugin_multiSelect").$element.on('change.multiselect')

我好像有点迷茫了。

【问题讨论】:

  • .$element.on('change.multiselect') 是选择东西时触发的事件
  • @mplungjan 谢谢!这就是我尝试的原因。它只是调用_this.updateButtonContents()。我想我需要以某种方式将要选择的选项框放入“_this”中?
  • 我只看到updateButtonContents() 正在寻找“已选择”if $(this).is(':selected')) {selected.push( $.trim(text) );} 如何将条目标记为已选择?
  • 我会选择不同的插件或询问作者github.com/mysociety/jquery-multi-select/issues - 演示代码中甚至没有示例

标签: javascript jquery multi-select


【解决方案1】:

我只是想出了改变多选选择状态的语法。应该是:

$('#Fruits').val(["0","4"]);
$("#Fruits").data("plugin_multiSelect").updateMenuItems();

这样就可以选择下拉“水果”的第 1 个和第 5 个元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    相关资源
    最近更新 更多