2012-03-13 71 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());