如何检查有多少复选框被选中,如果我没有';我不知道他们的身份;s


how to check how many checkboxes are checked if i don't know their id's

我有一堆从php循环生成的checkboxex,代码如下:

 if ($searchQuerySelectedRooms === FALSE) {
       $searchQuerySelectedRooms = array();
 }
 foreach ($rooms as $room) {
     if (in_array($room['roomID'], $searchQuerySelectedRooms)) {
         $checker = 'checked="checked"';
     } else {
         $checker = '';
     }
     echo '<input type="checkbox" id=box"'.$room['roomID'].'" name="rooms[]" value="' . $room['roomID'] . '" style="float:left;width:20px; margin-right:10px;" ' . $checker . ' class="box"/>';

在这个循环的Bellow中,我想找出选中了哪些复选框,并用类newprice附加div的一些html。

我在谷歌上搜索过,但所有的例子都开始使用getElementById,这在我的情况下是无用的,因为id是从数据库中构建的,我不知道哪个id会分配给每个复选框。

有人知道我该怎么做吗?

此致,John

由于所有复选框都具有类box,因此可以使用:

// iterate over all checked checkboxes with class box
$('input.box[type="checkbox"]:checked').each(function() {
    // do stuff
});

这个怎么样:

var amountChecked = $('input:checked');

您也可以使用document.getElementsByName((,或者您可以将一个公共类应用于所有复选框,并使用类似$('.class_name'(的jquery。希望得到帮助:(

$('input[type="checkbox"]:checked').length

小提琴:http://jsfiddle.net/paBLJ/1/

如果您使用jQuery,它真的很容易。您有用于复选框的特殊选择器,如´:checkbox´或´input[type=checkbox]´

$(':checkbox:checked').each(function(){
   $(this).append('your html structure to append')
})

像这个

var howMany = $('input:checked').length;

编辑:

var howMany = $('input[type="checkbox"]:checked').length;

您可以使用

if(document.getElementsByTagName("input").type=="checkbox")

在javascript中,或者您可以使用

$("input:checkbox")

在jquery中。

相关文章: