通过类名JQuery获取ID

时间:2013-10-25 06:34:28

标签: javascript jquery class input checkbox

嗨,这是一个jquery问题:

我猜这个有:

<input type="checkbox" class="select" id ="select-1">

<input type="checkbox" class="select" id ="select-2">

我希望获取我点击提交按钮时选中的复选框的ID(注意:您只能选择1) 我在这里点击了这个按钮:

$("#submit").click(function(){

          if($(".select").is(':checked')){

              alert($(".select").attr('id'));
          }
});

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

8 个答案:

答案 0 :(得分:33)

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

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

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

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

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

答案 1 :(得分:3)

使用这种方式获取ID

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

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

答案 2 :(得分:2)

您没有捕获已选中的复选框,您只是在询问“是否有人检查过?”。

$("#submit").click(function(){

    var elem = $(".select:checked");

    if(elem.length > 0){
        alert(elem.attr('id'));
    }
});

答案 3 :(得分:2)

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

答案 4 :(得分:2)

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

$("#submit").click(function(){

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

});

答案 5 :(得分:2)

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

<input type="radio" name="select" value="select-1">
<input type="radio" name="select" value="select-2">
然后事情会变得非常简单:

$("#submit").click(function(){

    alert($('[name="select"]:checked').val());
});

答案 6 :(得分:0)

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

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

答案 7 :(得分:-1)

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