0

アイテムのリスト、各アイテムの横にあるチェックボックス、およびチェックされたアイテムを削除するボタンを含むテーブルがあります。

したがって、影響を受けるアイテムを削除するためにajax呼び出しから戻った後、選択したチェックボックスの行を削除するために、jqueryにこのセレクターがあります。

tr input[name=storePurchaseItemIds\\[\\]][value=" + id + "]

名前が storePurchaseItemIds[] で、id 変数の値を持つ入力を持つすべての「tr」要素を選択することを期待していました。

代わりに、反対のことをしたようです: 行の一部であるすべての入力を選択しました (結果に対して remove() を呼び出すと、チェックボックスが削除され、行はそのまま残ります)。

セレクターについて私が誤解していることは明らかであり、なぜ予期しない結果が生じるのか興味があります。

4

1 に答える 1

1

ここでは子孫セレクターを使用しているため、入力要素が選択されます。代わりに、基準に一致するtr要素を持つ要素を選択する必要があります。inputしたがって、以下のように :has()または.has()を使用してください

$("tr:has(input[name=storePurchaseItemIds\\[\\]][value=" + id + "])")

また

$("tr").has("input[name=storePurchaseItemIds\\[\\]][value=" + id + "]")
于 2013-09-30T15:40:04.620 に答える