通过类名JQuery获取ID

嗨,这是一个jquery问题:

我以为我有这个:

   

我想获取当我点击提交按钮时选中的复选框的ID (注意:你只能选择1),我在这里点击了这个按钮事件:

 $("#submit").click(function(){ if($(".select").is(':checked')){ alert($(".select").attr('id')); } }); 

即使我选择了带有“select-2”id的复选框,它总是会发出“select-1”警告 。我猜是因为他们都在同一个class级中,第一个找到了“.select”类警报中显示..如何获取使用其类名检查的特定ID? 谢谢!

你一次只勾选一个复选框吗?

alert( $(".select:checked").attr('id') );

或者,如果您一次检查多个复选框:

 $(".select:checked").each(function(){ alert($(this).attr('id')); }); 

演示: http : //jsfiddle.net/UTux2/

使用这种方式获取ID

 $(".select:checked").attr('id'); 

另请注意,如果只能选择一个,最好将其更改为radio

你没有抓住选中的复选框,你只是问“有人检查了吗?”。

 $("#submit").click(function(){ var elem = $(".select:checked"); if(elem.length > 0){ alert(elem.attr('id')); } }); 

有多个要素。 您需要检查具有相同类的所有复选框

 $("#submit").click(function(){ $(".select:checked").each(function(){ alert($(this).attr('id')); }); }); 

你应该使用单选按钮而不是复选框来允许从众多选项中进行选择。

   

事情会变得非常简单:

 $("#submit").click(function(){ alert($('[name="select"]:checked').val()); }); 
 $("#submit").click(function(){ if($(".select").is(':checked')){ var $this=$(".select").is(':checked'); alert($this.attr('id')); } }); 

尝试这样的事情,你不需要迭代

  $(document).ready(function () { $("#submit").click(function(){ if($(".select").is(':checked')){ alert($(".select:checked").attr('id')); } }); }); 

因为您没有迭代所有具有“select”类的元素。 它总是转到第一个元素并打印结果。 设置一个循环来迭代所有具有“select”类的元素。