微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 在所选选择框中更新选项的性能

我使用jQuery Chosen插件选择框和Bootstrap 2.3.2.我有两个具有相同选项的选择框,其中值是字符串.如果我在第一个选择框中选择选项,则在第二个选择框中禁用此选项,反之亦然.如果我取消选择第一个选择框中的选项,则在第二个选择框中启用此选项,反之亦然.

基本上,我有两个选中的框,它们具有相同的选项,但您只能在一个选择框中选择相同的选项.

我使用重置按钮作为第一个选择框,将选择框更新为初始状态.它表示对于第一个选择框中的所有选项,所选属性为false,对于第二个选择框中的所有选项,禁用属性为false.

问题是性能.当我单击重置按钮时,更新选项属性和选择的选择框太长.我想使用重置按钮选择具有超过一千个选项的框,但我不知道我是否应该更改我的代码或使用另一个选择框插件.

jsfiddle

$(".keywordContain").click(function(){
    $('select[name=keywordContainSelect] option').prop('selected', false).trigger('chosen:updated');
    $('select[name=keywordNotContainSelect] option').prop('disabled', false).trigger('chosen:updated');
});

解决方法:

您的代码当前正在为每个选项元素触发“selected:updated”事件.您只需要为< select>执行此操作:

$(".keywordContain").click(function () {
    $('select[name=keywordContainSelect] option').prop('selected', false);
    $('select[name=keywordNotContainSelect] option').prop('disabled', false);
    $(".selectKeyword").trigger("chosen:updated");
});

Here is the updated jsfiddle.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐