• ベストアンサー

データバインドで生成したテーブルについて

データバインドで生成した3列×n行のテーブルがあり、その左端の列にフォーム(チェックボックス)が入っています。 このチェックボックスにチェックが入ったとき、その行全体の背景色を変えるには、どんなスクリプトを書いたらよいのでしょう? どんなにやっても、1行目しかうまくいきません。。。 どなたかお知恵を貸してください!!

質問者が選んだベストアンサー

  • ベストアンサー
  • nuruhho44
  • ベストアンサー率57% (38/66)
回答No.1

例えばデータバインド内で <td><input type="checkbox"></td> という感じになっているのなら <td><input type="checkbox" onclick="Change(this);"></td> として、呼び出す関数として以下のスクリプトを入れてください。 <script type="text/javascript"> function Change(x) { flag = x.checked; if (flag) x.parentNode.parentNode.style.backgroundColor = "yellow"; else x.parentNode.parentNode.style.backgroundColor = "white"; } </script> 要はチェックボックスの親要素(td)の親要素(tr)の背景色を変えて、その行全体を変えようというわけです。 一応チェックを外した時に白背景に戻るようになってます。 もし<td><span><input type="checkbox" onclick="Change(this);></span></td> みたいな感じだったら、parentNodeを一個づつ増やせばいいってことですね。

scorebook
質問者

お礼

これです! これがやりたかったんです!! 上手くいきました。ありがとうございました。

関連するQ&A