1

我对 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(我想这是因为使用更改功能)时才有效。当默认选择1设置为选项1时如何禁用选择2???

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

这也行不通:/

4

2 回答 2

5

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

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

所以,

$(document).ready(function(e) {
    $('.select1').change(function(e) {
        if ($('.select1').val()==1){
            $('.select2').attr('disabled','disabled');
        }
        else{
            $('.select2').removeAttr('disabled');
        }
    });
    $('.select1').trigger('change');
});
于 2013-04-08T20:35:43.773 回答
1

几乎相同的代码。

$(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');
 } }
于 2013-04-08T20:36:37.203 回答