检查标签内是否勾选了复选框

时间:2015-12-29 05:52:35

标签: jquery

我在标签内有一个复选框

<label class="selectit"><input value="84" name="download_category[]" id="in-download_category-84" type="checkbox"> CPU, HDD, Ram</label>

我想在不使用复选框ID的情况下检查是否选中了复选框。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

    <script>
    $(document).ready(function(){
        $(".selectit").click(function(){
            //Go and check if checkbox is check.
            //If checkbox is tick
            alert(this.Text());
        });
    });
    </script>

我该怎么做?

4 个答案:

答案 0 :(得分:2)

请尝试此

$(".selectit").click(function() {
  if ($(this).find('input[type=checkbox]').is(":checked")) {
    alert($(".selectit").text());
  }
});

DEMO

答案 1 :(得分:0)

试试这个

 $(document).ready(function(){
        $(".selectit").click(function(){
          if($(this).prop('checked') == true) {
               //checkbox is checked
           }
           else
           {
               //checkbox is not checked
           }
        });
  });

答案 2 :(得分:0)

您可以使用多种方法查找复选框。例如,如果选中该复选框,则可以使用大于0的$('.selectit').find('input:checked').length。您还可以使用change功能复选框并阅读值onChange

就个人而言,我会避免使用标签点击功能,因为在复选框被选中/取消选中之前或之后是否应该发生点击会让人感到困惑。

请参阅jsFiddle here。在这里,我要检查按钮点击事件的复选框状态。

$('#checkit').click(function(){
    if($('.selectit > input:checked').length){
        alert($('.selectit').text())
    }
});

答案 3 :(得分:0)

试试这个:

 <label class="selectit"><input value="84" name="download_category[]" id="in-download_category-84" type="checkbox" id='a'> 
            CPU, HDD, Ram</label>

脚本:

<script type='text/javascript'>
            $(document).ready(function () {
                $('input[type="checkbox"]').click(function () {
                    if ($(this).prop("checked") == true) {
                        alert("Checkbox is checked.");
                    } else if ($(this).prop("checked") == false) {
                        alert("Checkbox is unchecked.");
                    }
                });
            });
        </script>