Javascript 如果选择了第1个或第2个,则禁用第3个、第4个下拉列表
我有一个问题:在我的表格中有4个下拉列表,当选择第一个(类别1)或第二个(软件1)下拉列表时,必须禁用第三个(类别2)和第四个(软件2) 对于此问题,我在上找到此脚本,但我不信任修改此脚本:Javascript 如果选择了第1个或第2个,则禁用第3个、第4个下拉列表,javascript,jquery,Javascript,Jquery,我有一个问题:在我的表格中有4个下拉列表,当选择第一个(类别1)或第二个(软件1)下拉列表时,必须禁用第三个(类别2)和第四个(软件2) 对于此问题,我在上找到此脚本,但我不信任修改此脚本: <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> category1 <select name='cat1'> <option val
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
category1
<select name='cat1'>
<option value='0'>Select one</option>
<option value='1'>little</option>
<option value='2'>good</option>
</select>
software1
<select name='soft1'>
<option value=''>Select one</option>
<option value='W'>Word</option>
<option value='E'>Excel</option>
<option value='PP'>Power Point</option>
</select>
<br />
category2
<select name='cat2'>
<option value='0'>Select one</option>
<option value='1'>little</option>
<option value='2'>good</option>
</select>
software2
<select name='soft2'>
<option value=''>Select one</option>
<option value='W'>Word</option>
<option value='E'>Excel</option>
<option value='PP'>Power Point</option>
</select>
<script type="text/javascript">
var setEnabled = function(e) {
var name = this.name.replace(/1/, '2'); //get name for second drop down
$('select[name=' + name + ']')
.prop('disabled', 0 === this.selectedIndex) // disable if selected option is first one
};
$(function() {
$('select[name=cat1], select[name=soft1]')
.on('change', setEnabled)
.trigger('change'); // trigger on page load
});
</script>
类别1
选择一个
小的
好的
软件1
选择一个
单词
擅长
电源插座
类别2
选择一个
小的
好的
软件2
选择一个
单词
擅长
电源插座
var setEnabled=功能(e){
var name=this.name.replace(/1/,'2');//获取第二个下拉列表的名称
$('select[name='+name+']')
.prop('disabled',0==此.selectedIndex)//如果选择的选项是第一个选项,则禁用
};
$(函数(){
$('select[name=cat1],select[name=soft1]')
.on('change',setEnabled)
.trigger('change');//页面加载时触发
});
如何修改这个
谢谢我想你最想做的就是把
==
翻过来换成==代码>
然而,要在矩阵上实现这一点,其中两个顶部输入都会触发两个底部输入的启用/禁用,您需要在其中一个的更改上测试这两个
var setEnabled=功能(e){
所选变量=$('select[name=cat1]').prop('selectedIndex')>0 | |$('select[name=soft1]').prop('selectedIndex')>0;
$('select[name=cat2],select[name=soft2]')。prop('disabled',selected);//如果选择的选项是第一个选项,则禁用
如果(选定){
$('select[name=cat2],select[name=soft2]')。prop('selectedIndex',0)
}
};
$(函数(){
$('select[name=cat1],select[name=soft1]')
.on('change',setEnabled)
.trigger('change');//页面加载时触发
});代码>
类别1
选择一个
小的
好的
软件1
选择一个
单词
擅长
电源插座
类别2
选择一个
小的
好的
软件2
选择一个
单词
擅长
电源插座
第3和第4个下拉列表是在底部还是在右侧?底部的是禁用的。当您禁用它们时,是否也要将它们设置为“选择一个”?@depperm:我已经编辑了post@Steven不,当dropdownlist被禁用时,设置它们clean@Frankie-我在下面给了你一个答案,但你的要求有点含糊不清。当选择其中一个时,是否希望同时禁用这两个选项?代码中的逻辑看起来像是要测试cat1和cat2,soft1和soft2Ok,我们就快到了。当选择category1时,category2和software2必须被禁用并清除。@Frankie-添加了清除代码。现在我来做双份-test@Frankie-我在编辑您的需求时出现了一个bug,我已修复了该bug。再试一次?你是最棒的!干得好!