gpt4 book ai didi

javascript - 如果只选择1,jquery多重选择设置默认值?

转载 作者:行者123 更新时间:2023-11-28 08:44:56 25 4
gpt4 key购买 nike

假设我在 jquery 移动解决方案中有多个选择对话框,如下所示:

     <select name="fruitFilter" id=fruitFilter" multiple="multiple" data-native-menu="false">
<option>Fruit choice</option>
<option value="1">Choice1</option>
<option value="2">Choice2</option>
<option value="3">Choice3</option>
<option value="4">Choice4</option>
<option value="1234">All Fruits</option>
</select>

我希望选项 1-4 可以单独选择,但如果我选中“所有水果”,我希望所有选择都被标记(禁用才能正确)并且取消勾选取消选择“所有水果”将使选项 1-4 再次可供选择。

到目前为止,除了禁用/启用全部/单独的功能之外,我已经完成了所有工作和加载/保存到本地存储

有人知道如何做到这一点吗?

最佳答案

大概是这样的?

var selAllValue = "1234",
$fruitSelect = $('#fruitFilter'),
$allOptions = $fruitSelect.children(), //get all options
$selAllOption = $allOptions.filter('[value="' + selAllValue + '"]'); //Get the check all option

$fruitSelect.on('change', function () {
var $this = $(this),
currSel = ($this.val() || []).pop(), //get the last selected value.
$options = $allOptions,
flg = (currSel === selAllValue);

if (flg) { //if it is equal to alloption
$options = $options.not($selAllOption).prop('selected', false); //unselect others and set $options to the new list
}

$options.prop('disabled', flg); //finally set the disable flag on $options. i.e disable flag will be set if current selection is alloption else just not disable all.

$this.selectmenu('refresh'); //refresh select menu to take effect.

});

<强> Demo

关于javascript - 如果只选择1,jquery多重选择设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19963625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com