给定一个复选框对象输出其值

时间:2010-12-15 14:31:03

标签: javascript jquery javascript-events checkbox

我的页面中有许多复选框。我想编写一个在单击ckeckbox时调用的函数,该函数确定是否选中了复选框。

<input type="checkbox" onclick="toggleVis('id',   this);"/> ID
<input type="checkbox" onclick="toggleVis('edit', this);" checked="checked"/> Edit
<input type="checkbox" onclick="toggleVis('last', this);"/> Last

请注意,一些复选框已开始检查。

我认为必须有一种方法可以根据传递的引用执行此操作,因此我将此值作为参数传递。

function toggleVis(name, checkbox)
{
    //if(checkbox.checked())
        console.log('checked');

        if($('.'+name).css('display') != "none")
            $('.'+name).css('display', 'none');
        else
             $('.'+name).css('display', 'table-cell');
}

我愿意使用jQuery。

5 个答案:

答案 0 :(得分:1)

你很亲密。

if(checkbox.checked) {
    console.log('checked');
    //...
}

没有checked()方法,但有checked属性。请注意,您的代码可能仅适用于点击。也许onchange会更好?

答案 1 :(得分:1)

查看checkboxobj.checked属性(而不是像函数一样调用它)。在您的情况下,您可以参考if (checkbox.checked) { ... }。可以找到更多信息on this website

答案 2 :(得分:1)

如果您想使用jQuery执行此操作,可以尝试以下操作。请注意,我绑定到复选框,而不是直接在HTML元素上包含'onclick'或'onchange'。

$('[type=checkbox]').click(function(){
  if( $(this).attr('checked') ){
    console.log('checked');
    if($('.'+$(this).attr('name')).css('display') != "none") {
      $('.'+$(this).attr('name')).css('display', 'none');
    } else {
      $('.'+$(this).attr('name')).css('display', 'table-cell');
    }
  }
});

答案 3 :(得分:0)

基于JQuery的解决方案:

var checked = $(checkbox).is(':checked');

如果您想首先通过某个JQ选择器找到该复选框,将会很有帮助。

答案 4 :(得分:0)

<input type="checkbox" class="checkthis"> ID
<input type="checkbox" class="checkthis" checked="checked"> Edit
<input type="checkbox" class="checkthis"> Last

$(input.checkthis).click(function() {
  if($(this).is(':checked') {
    // do checked stuuf
  } else {
    // do not checked stuff
  }
});