2016-04-24 215 views
0

我有14行5個td單元格。每一個都是一個單選按鈕。我希望用戶能夠單擊表格單元格中的任意位置以選擇其單選按鈕。每一行由此產生:onClick表格單元格選擇單元格內的單選按鈕

   @for (int i01 = 1; i01 <= 5; i01++) { 
       <td id="tablecellradiobutton" onMouseover="this.bgColor='88,150,183'" onMouseout="this.bgColor='white'" onclick="@('Q01' + i01).checked = true"> 
        @Html.RadioButton("Q01", i01, Q01 == i01.ToString(), new { id = "Q01" + i01 }) 
       </td> 
       } 

然而,我的onClick是下降了,給我的錯誤:

這確實應該是該死的簡單沒有一個JavaScript(或jQuery的)做功能,但我認爲我已經放棄了需要一個。但有人可以幫我糾正我的代碼嗎?

回答

1

我不能糾正現有的代碼,但你將不得不thesame ID的多個實例:

<td id="tablecellradiobutton"... 

你需要爲每個TD各自的ID - 可能追加TR和TD指數到現有的ID將是去的。

我會使用jQuery並使用find()獲取td內被點擊的輸入並將其checked屬性設置爲true。請注意document.on的使用,這將允許動態添加內容以及靜態內容。不要忘了$(document).ready ...如果你還沒有它。

$(document).on('click','td',function(){ 
    $(this).find('input [type="radio"]').prop('checked',true) 
    }); 
+0

感謝您的反饋gavgrif。我已經按照你的建議做了,並且使每個表格單元格的id唯一(也將'tablecellradiobutton'更改爲我的css中的類),但是我認爲我發現了一個更容易解決導致錯誤的問題的解決方案。我更改了onClick,通過交換單引號和雙引號,因此我的C#Razor代碼中的字符串(本例中爲「Q01」)包​​含在雙引號中,以符合C#規則和整個onClick代碼包含在單引號中,這在HTML中是完全可以接受的。 –