如何检查复选框是否存在

时间:2012-01-25 11:52:13

标签: javascript jquery

每行都有复选框。该表是由PHP创建的,我需要一种方法来检查复选框是否存在。当它们被创建时,它们被赋予了checkbox_(递增数字)的ID。

这是我到目前为止所做的,但它不能检查元素是否存在。

var check = true;
var todelete = "";
var counter = 0;

//check if box exisits and record id and post
while(check)
{
    if ($("#Checkbox_"+counter).length > 0)
    {
    todelete = todelete + $("#Checkbox_"+counter).value;
    counter = counter + 1;
    }
    else
    {
    check = false;
    }
}

我也试过

 if ($("Checkbox_"+counter))
 if (document.getElementById("tbody").value == null)

更新

即使使用#符号或者我使用javascripts元素ID - 当我调试DOM时,它会点击while,然后if,将值添加到todelete,将1加到计数器,然后返回到然后,点击if

然后反弹回到原来,甚至没有进入if或者其他???

这个我不明白,然后它只是在两条线之间上下跳动而崩溃了浏览器?

UPDATE2:

当将计数器添加到元素id的字符串时,我需要.tostring()。问题解决了

4 个答案:

答案 0 :(得分:4)

您可以使用“此案例中存在复选框”

if ($("#Checkbox_"+counter).length > 0) {
  //checkbox exists
}

答案 1 :(得分:2)

您可以使用

if ($("#Checkbox_"+counter).length > 0)

我假设'Checkbox_0'是一个ID,所以我添加了#符号。如果是复选框的名称,则可以使用

if ($("input[name='Checkbox_"+counter+"']").length > 0);

[edit]此外,您应该检查以确保您/不需要大写'C'。

答案 2 :(得分:0)


if (($("#Checkbox_"+counter).length) > 0) {
...

//Or something more generalized
jQuery.fn.exists = function(){
  return jQuery(this).length>0;
}
//then, if you have valid selector
if ($("#Checkbox_"+counter).exists()){
    //do something here if our selected element exists
}

答案 3 :(得分:0)

// if document.getElementById(name) do not exist
// document.getElementById(name).value generate already an error

if (document.getElementById(name) != null) {
// you code if checkbox exist
}