2014-10-26 4 views
0

Вот мой код:размера() не с с Js селектором/является

<input type="checkbox"> a<br /> 
<input type="checkbox"> b<br /> 
<input type="checkbox"> c<br /> 
<button>Size</button> 

<script> 
$('button').click(function() { 
    alert($('input').is(':checked').size()); 
}); 
</script> 

JS скрипки: http://jsfiddle.net/a8f7stx5/

При нажатии на кнопке «Размер» я получаю «неперехваченный TypeError : undefined не является функцией "error. Есть идеи?

ответ

2

$('input').is(':checked') вернет флаг true false, основанный на значении флажка, и используя метод .size(), вернется undefined по значению bool (вы можете увидеть ошибку в консоли).

также использовать .length вместо .size() как размер является устаревшим в версии 1.8:

$('input:checked').size() 

Working Demo

+1

или, предпочтительно, 'length'. – lonesomeday

+0

@lonesomeday: действительно ... :) –

1

.is() возвращает булево из выполняет ли элемент селектор. Попробуйте использовать вместо .filter():

alert($('input').filter(':checked').size()); 
0

Свойство .length является предпочтительным способом:

$('input:checked').length; 

DEMO

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