3

以下に示すように、すべての行に非表示のコントロールがあるテーブルがあります

<input name="ID" id="ID" type="hidden"/>

しかし、それらのいくつかには価値があり、他にはありません。値のない行を除外するにはどうすればよいですか

私はそれが次のようなものになることを知っています

$('#myTable tr').filter(... ???

私がやろうとしているのは、非表示のコントロールに値がある行を取得し、それらの行から特定のコントロールとその値をフェッチして、jqueryajaxを使用して投稿することです。

4

4 に答える 4

3

以下を使用します。

$('#myTable tr').filter(function () {
  return $(this).find('input[type="hidden"][value!=""]').length;
});

デモ

于 2012-08-27T12:22:14.143 に答える
2

João の答えに基づいて、行を取得するには、2 番目のオプションを使用して親までトラバースする必要があります。

$('#myTable tr input[type="hidden"][value!=""]').parent();

これは、非表示の入力が の直接の子孫であると想定しています<tr>。それ以外の場合は、次のように jQueryparent ()関数を使用することをお勧めします。

$('#myTable tr input[type="hidden"][value!=""]').parents('tr');

于 2012-08-27T12:52:36.057 に答える
1

セレクター'input[value]'は、値属性を持つすべての入力を選択します。

$("#myTable input[value], #myTable input[value!='']").doSomthing(...);
于 2012-08-27T12:27:00.373 に答える
1

それにクラスを追加します。

<input name="ID" id="ID" type="hidden" class="someclass" />

$('#myTable tr .someclass').doSomething(...)
于 2012-08-27T12:21:47.457 に答える