2016-04-24 10 views
0

私は5行の14行を持っています。それぞれにラジオボタンがあります。ラジオボタンを選択するには、ユーザーがテーブルセルの任意の場所をクリックできるようにします。各行は、このように作成されます。テーブルセルの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つを必要とすることに辞職していると思う。しかし、誰かが私のコードを修正するのを助けることができますか?

答えて

1

私はあなたの既存のコードを修正することはできませんが、同じIDの複数のインスタンスを持ってしようとしている。

<td id="tablecellradiobutton"... 

は、各TDのための個別のIDを作成する必要があります - おそらく、TRとTDのインデックス番号を付加既存のIDには行きます。

jQueryを使用し、find()を使用してクリックされたtd内の入力を取得し、checkedプロパティをtrueに設定します。 document.on ...の使用に注意してください。動的に追加されたコンテンツと静的コンテンツの両方をターゲットにすることができます。あなたがまだそれを持っていないなら、$(文書).ready ...を忘れないでください。

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

フィードバックgavgrifに感謝します。私はあなたが示唆したように、各テーブルセルのIDを一意にしました(私のCSSの 'tablecellradiobutton'もクラスに変更しました)。しかし、エラーを引き起こしていた私の問題を簡単に解決できると思っています。私はonClickを非常にわずかに変更しました。一重引用符と二重引用符を入れ替えて、C#の剃刀コード(この例では "Q01")の文字列を二重引用符で囲んでC#ルールとonClickコード全体HTMLで完全に受け入れられるので、一重引用符で囲まれています。 –

関連する問題