-1

我正在使用 jQuery,当未选中复选框时,我需要显示它的 id。我怎样才能做到这一点?

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

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

5 回答 5

9

查看此演示以获取工作示例。

鉴于您的代码:

$('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);
});
于 2012-09-28T20:01:25.513 回答
2

OP更改后更新

您可以在单击时使用长度来选中未选中的复选框,如下所示。

现场演示

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

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

现场演示

$('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);

});
于 2012-09-28T19:58:42.710 回答
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"));
});
于 2012-09-28T19:58:59.457 回答
0

执行以下操作:

$("input[type='checkbox']").live("click", function() {
    if (!$(this).attr("checked")) {
        alert($(this).attr("id"));
    }
});
于 2012-09-28T19:59:34.277 回答
0

没有名为':unchecked' 的选择器

你几乎接近了,尝试:checked 代替

$(function() {

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

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

});

演示

于 2012-09-28T20:07:52.337 回答