如果我不知道他们的id,如何检查检查了多少个复选框

时间:2014-07-16 09:37:36

标签: javascript php jquery

我有一堆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"/>';

这个循环的贝娄,我想知道检查了哪些复选框,并附加了一些带有类newprice的div的html。

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

任何人都知道我该怎么做?

问候,约翰

8 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

这个怎么样:

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

像这样

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

编辑:

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

您可以使用

if(document.getElementsByTagName("input").type=="checkbox")
在JavaScript中

或者你可以使用

$("input:checkbox")

在jquery中。