Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
Jquery 如何禁用基于其他选定选项的选择?_Jquery_Jquery Selectors_Option - Fatal编程技术网

Jquery 如何禁用基于其他选定选项的选择?

Jquery 如何禁用基于其他选定选项的选择?,jquery,jquery-selectors,option,Jquery,Jquery Selectors,Option,我对jQuery函数有一个问题。我想根据一个选定的选项禁用其他选择。在我的例子中,如果选择了select 1中的选项1,我想禁用select2。所以我使用这个jQuery函数: $(document).ready(function(e) { $('.select1').change(function(e) { if ($('.select1').val()==1){ $('.select2').attr('disabled','disabled'); }

我对jQuery函数有一个问题。我想根据一个选定的选项禁用其他选择。在我的例子中,如果选择了select 1中的选项1,我想禁用select2。所以我使用这个jQuery函数:

$(document).ready(function(e) {
$('.select1').change(function(e) {
    if ($('.select1').val()==1){
        $('.select2').attr('disabled','disabled');
    }
    else{
        $('.select2').removeAttr('disabled');
    }
})
});
但这只有在我首先选择选项2或从该选择中选择任何其他选项,然后重新选择选项1时才有效。我假设这是因为使用了更改功能。默认情况下,select1设置为选项1时,如何禁用select2

$(document).ready(function(e) {
    if ($('.select1').val()==1){
    $('.select2').attr('disabled','disabled');
}
else{
    $('.select2').removeAttr('disabled');
}
})

这也行不通:/

听起来您想在启动时触发“更改”事件

$('.select1').trigger('change');
所以


听起来你想在启动时触发一个“更改”事件

$('.select1').trigger('change');
所以

几乎相同的代码

$(document).ready(function(e) {
 change('.select1');
 $('.select1').change(function(e) {
   change(this);
 }) });  function change(sel){
if ($(sel).val()==1){
    $('.select2').attr('disabled','disabled');
  }
  else{
    $('.select2').removeAttr('disabled');
 } }
几乎相同的代码

$(document).ready(function(e) {
 change('.select1');
 $('.select1').change(function(e) {
   change(this);
 }) });  function change(sel){
if ($(sel).val()==1){
    $('.select2').attr('disabled','disabled');
  }
  else{
    $('.select2').removeAttr('disabled');
 } }

使用而不是.attr。如果已经选择了1,则可以在页面加载时在change函数外部使用脚本来初始化它。我一直在使用该脚本,但在我的页面上,我有一个autocomplete插件,该插件在1.4+jQuery版本上不起作用,并且1.4版本仅支持.prop。如果默认情况下选择了option1,默认情况下,select2应该被禁用,而不是.attr。如果已经选择了1,您可以在页面加载时在change函数之外使用脚本来初始化它。我一直在使用它,但在我的页面上,我有一个autocomplete插件,它在1.4+jQuery版本上不起作用,并且1.4版本不支持.prop,仅限.attr如果默认情况下选择了选项1,则默认Tnx men应禁用select2以实现快速回答,这对我帮助很大:Tnx men以实现快速回答,这对我帮助很大: