Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果选择了第1个或第2个,则禁用第3个、第4个下拉列表_Javascript_Jquery - Fatal编程技术网

Javascript 如果选择了第1个或第2个,则禁用第3个、第4个下拉列表

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

我有一个问题:在我的表格中有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 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。再试一次?你是最棒的!干得好!