2010-05-31 3 views
7

Как вы вычисляете количество полей ввода без значения в строке таблицы с помощью jquery?Подсчет количества пустых полей ввода в строке таблицы

пример:

<table id="table1"> 
<tr class="data" id="row5"> 
<td><input type="text" value="20%" /></td> 
<td><input type="text" value="10%" /></td> 
<td><input type="text" value="" /></td> 
<td><input type="text" /></td> 
</tr> 
<table> 

Я ищу ответ = 2

+0

я искал что-то вроде $ (» # row5> td input [type = text] [value =] '). length, но, очевидно, мой jquery is wrong –

+0

ОК, извините, ребята, похоже, что я снова ошибался: пустой не работал, но его выглядит как .find ('input: text [value = ""]'), делает еще несколько тестов и затем переустановите правильный ответ –

+0

, пожалуйста, посмотрите на мою демонстрацию в моем ответе ... – Reigel

ответ

6

Даже что ОП утверждал, ответ, как правильно и работает, это происходит от api doc:

Некоторые другие элементы, с другой стороны, пусты (т.е. не имеют детей) по определению: input, img, br и hr, например.

Так что это должно быть невозможно сделать с помощью пустого селектора.

$('input:empty').length 

или быть более конкретными:

$('#table1').find('input:empty').length 

еще более конкретно:

$('#table1').find('input[type=text]:empty').length 
+0

Я думаю, что ясно, что 'без значения в таблице row' выше ... 'row' :) – Reigel

+0

вы уверены в этом? : p Я предполагаю, что мне нужно исправить свой ответ, это похоже на: empty возвращает 'empty' по определению для элементов ввода – jAndy

+0

ahh yes .. Я вообще не сомневаюсь в ': empty' ... это просто то, что Заголовок вопроса говорит в строке таблицы ... не в таблице .... ахх, неважно .. :) – Reigel

2

Вы можете сделать так:

alert($('#table1 input:text[value == ""]').length); 
+0

я думаю, что ясно, что 'без значения в строке таблицы выше ... 'row' :) – Reigel

+2

@Reigel: В конечном итоге вход зайдет в таблицу> tr> td. – Sarfraz

+0

, но я думаю, что ваш на данный момент будет считать входы в таблице ... – Reigel

Смежные вопросы