取消选中任何复选框的Jquery获取id

时间:2012-09-28 19:57:04

标签: jquery

我正在使用jQuery,我需要在未选中时显示复选框的ID。我怎么能做到这一点?

$('input[type=checkbox]').click(function(){ 
    alert(this.id); 

    if($(this).is(':unchecked')) {
         alert(this.id); 
    } 
}); 

5 个答案:

答案 0 :(得分:8)

查看此 DEMO 以获取有效工作示例。

鉴于你的代码:

$('input[type=checkbox]').click(function(){ 
    alert(this.id);     
    if($(this).is(':unchecked')) {
         alert(this.id); 
    } 
}); 

您需要将:unchecked更改为:not(:checked)。 jQuery从未有过:unchecked过滤器。除此之外,你相当接近。

$("input[type=checkbox]").on("click", function(){
   if($(this).is(":not(:checked)"))
      alert(this.id);
});

答案 1 :(得分:2)

更改OP后更新

您可以使用下面给出的长度检查未选中的复选框。

<强> Live Demo

$('input[type=checkbox]').click(function(){ 
    alert(this.id); 

    if($(this).not(':checked').length) {
         alert(this.id); 
    } 
}); 

Live Demo

$('input[type=checkbox]').click(function(){
    if(this.checked)
      alert(this.id + " checked");
    else
      alert(this.id + " un-checked");

});

$('input:checkbox').click(function(){

     alert($(this).attr('id'));

});

或复选框有class =“chkclass”

 $('.chkclass').click(function(){

     alert(this.id);

});

答案 2 :(得分:0)

沿着这条线的东西对你有用。

$('input[type=checkbox]').click(function() {
    $checkbox = $(this);

    if(!$checkbox.is(':checked'))
        alert($checkbox .attr("id"));
});

或者,如果有可能动态添加复选框,请使用jquery on()

$('input[type=checkbox]').on("click", function() {
    $checkbox = $(this);

    if(!$checkbox.is(':checked'))
        alert($checkbox .attr("id"));
});

答案 3 :(得分:0)

执行以下操作:

$("input[type='checkbox']").live("click", function() {
    if (!$(this).attr("checked")) {
        alert($(this).attr("id"));
    }
});

答案 4 :(得分:0)

没有名为的选择器:未选中“

你差不多了,请尝试:选中

$(function() {

    $('input[type="checkbox"]').on('click', function() {

         if(! $(this).is(':checked')){
            alert( 'ID of the current checkbox is : ' + this.id );
         }
    })

});

DEMO