2012-03-13 67 views
1

当单选按钮“否”被选中时,我的下拉菜单仅禁用(灰色)。当没有选择任何东西时如何禁用下拉菜单?颜色和阴影是我的2个下拉菜单的名称。如果没有从单选按钮中选择任何内容,如何禁用下拉菜单

$("input[name^='attendance']").click(function() {     
      var id = this.name.replace('attendance', '');  
    $("#colour" + id + ", #shade" + id).prop("disabled", this.value == 'No'); 
+0

'this'的定义来自哪里? – 2012-03-13 15:00:12

回答

0

我想像也许是这样的?

$().prop('disabled', !this.value || this.value == 'No'); 
0

这应该为你工作:

$("#colour" + id + ", #shade" + id).prop("disabled", this.value == 'No' || ! this.value);​​​​​​​ 
+0

没有不工作 – jing 2012-03-13 15:05:20

1

我认为这里有一个更根本的问题,因为这段代码永远不会在你期望的方式来执行。这是在收音机的onClick事件中,这意味着它将始终有一个状态(是/否)。

你需要在两个语句中这样做,这可能是这样的吗?

$("input[name^='attendance']").click(function() {     
       var id = this.name.replace('attendance', '');  
     $("#colour" + id + ", #shade" + id).prop("disabled", this.value == 'No'); 
... 
}); 
$("#colour" + id + ", #shade" + id).prop("disabled", !$(input[name^='attendance').val());