在select2 jquery或javascript的下一个选择框中隐藏所选选项
我陷入了这个问题,即当用户从一个选择框中选择一个选项时,其他选择框的选项应该隐藏。当选定的选项更改时,以前选定的选项应再次对其他选择框可用 我当前代码的问题: 当选择框为“正常”选项时,我的代码正在工作,如果我更改为“选择2”,它将不起作用。如果选择框是select2:(?)的话,有人知道怎么做吗在select2 jquery或javascript的下一个选择框中隐藏所选选项,javascript,jquery,Javascript,Jquery,我陷入了这个问题,即当用户从一个选择框中选择一个选项时,其他选择框的选项应该隐藏。当选定的选项更改时,以前选定的选项应再次对其他选择框可用 我当前代码的问题: 当选择框为“正常”选项时,我的代码正在工作,如果我更改为“选择2”,它将不起作用。如果选择框是select2:(?)的话,有人知道怎么做吗 代码中几乎没有问题 您在选项中使用的val不正确,您应该使用value 此外,如果在上一次选择中未与所选选项的val()匹配,则所选文本将始终不同 编辑:您必须使用。每个设置attr禁用其他选项 工作
代码中几乎没有问题
val
不正确,您应该使用value
。每个设置attr
禁用其他选项
工作小提琴演示:
运行下面的代码段以查看它是否正常工作
使用禁用的attr on选项
$(“.s”)。选择2()
$('.s').change(函数(){
let value=$(this.val()
$(this).sides('.s').children('option').attr('disabled',false)
$('.s')。每个(函数(){
$(this).sides('.s').children('option[value='+$(this).val()+']).attr('disabled','disabled'))
})
})
选择
林
棕褐色的
阿拉克斯
国王
选择
林
棕褐色的
亚历克斯
国王
选择
林
棕褐色的
亚历克斯
国王
select 2插件具有修改选项的方法。请使用插件API。还要注意的是,
元素的隐藏/显示不受跨浏览器支持。对于
@charlietfl;,隐藏/显示在所有浏览器中都不起作用。谢谢;)是的,我知道。因此,为什么我建议禁用attr
或remove
而不是hide
或show
Hi@alwayshelling,这看起来就像是当所选选项更改之前所选的选项时不可用。例如,当第一个选择框我选择lim时,第二个选择框将没有lim选择,但当第一个选择框变为棕褐色时,棕褐色选项应该能够在其他选择框中进行选择。@MMMM很高兴我帮助了你。干杯
Code: http://jsfiddle.net/t8170aqg/1/