私はとてもシンプルなものを実現できません。どこが間違っているのか分かりません。お知らせ下さい。 目標は、それに対応するチェックボックスが選択されているテーブル行を強調表示することです。私はいくつかの例を引用しました.closest( 'tr')や.parent( 'tr')を使ってこの問題を解決していますが、私の場合はいくつか理由があります。 1つは選択されています。Jqueryは親の<tr>に移動します。 parent()またはclosest()セレクタを使用する際の問題
マイHTML
<tr class="EvenRowClass">
<td class="ColClass">
<div class="wrapClass" ">
<span class="tableCol" style="background: someimage.png") </span>
<span class="tableCol" style="background: someimage.png") </span>
<input id="Check1" class="selectCheck" type="checkbox"
onclick="highlightRow(this,Check1); return false;" value="Check1">
</div>
</td>
<td>SomeCode</td>
<td>SomeCode</td>
<td>SomeCode</td>
は、クリックに呼び出さ
マイJavaScript関数)各チェックボックスシーケンシャルのためのユニークなIDを持つようなコードの別のブロックがあると仮定します function highlightRow(checkbox, id)
{
$("tr:parent").toggleClass("highlight", checkbox.checked);
}
function highlightRow(checkbox, id)
{
$("tr:parent").toggleClass("highlight", checkbox.checked);
}
上記のjavascriptは、すべてのin the taを選択しますそれがチェックされているかどうかにかかわらず、ページの残りの部分と残りの部分を削除し、ハイライトクラスを適用します。 チェックボックスセレクタ、.closest( 'tr')、.parent( 'tr')を使っていくつか他のバージョンを試しましたが、どれも私のために働いていませんでした。
言及された最後のいくつかは、テーブル内の唯一のものであり、ページ上の他のものには影響しないという点でのみ優れています。
お知らせください。私はこれで十分な頭を傷つけて、今は傷つき始めた。
ゴールデン。どうもありがとう。これはうまくいった。しかし、私は質問がありますか? 'function highlightRow(チェックボックス、id) { var id = id;のようにセレクタとしてIDだけを使用すると、同じことはできません。 $(#id).parents( "tr")。toggleClass( "highlight"、 checkbox.checked); } ' – user1006072
あなたは '$('# '+ id).'を実行する必要があります。チェックボックスやIDを渡して '$(this) 'とすることもできません。 – ThinkingStiff