每行都有复选框。该表是由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()。问题解决了
答案 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
}