首页 文章

获取选中复选框的值?

提问于
浏览
134

所以我有代码看起来像这样:

<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">

我只需要Javascript来获取当前检查的任何复选框的值 .

EDIT :要添加,只会有一个复选框 .

9 回答

  • 96

    在普通的JavaScript中:

    function test() {
        var cboxes = document.getElementsByName('mailId[]');
        var len = cboxes.length;
        for (var i=0; i<len; i++) {
            alert(i + (cboxes[i].checked?' checked ':' unchecked ') + cboxes[i].value);
        }
    }
    
    function selectOnlyOne(current_clicked) {
        var cboxes = document.getElementsByName('mailId[]');
        var len = cboxes.length;
        for (var i=0; i<len; i++) {
            cboxes[i].checked = (cboxes[i] == current);
        }
    }
    
  • 196
    $(document).ready(function() {
      var ckbox = $("input[name='ips']");
      var chkId = '';
      $('input').on('click', function() {
        
        if (ckbox.is(':checked')) {
          $("input[name='ips']:checked").each ( function() {
       			chkId = $(this).val() + ",";
            chkId = chkId.slice(0, -1);
     	  });
           
           alert ( $(this).val() ); // return all values of checkboxes checked
           alert(chkId); // return value of checkbox checked
        }     
      });
    });
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <input type="checkbox" name="ips" value="12520">
    <input type="checkbox" name="ips" value="12521">
    <input type="checkbox" name="ips" value="12522">
    
  • 197

    对于现代浏览器:

    var checkedValue = document.querySelector('.messageCheckbox:checked').value;
    

    使用 jQuery

    var checkedValue = $('.messageCheckbox:checked').val();
    

    没有 jQuery 的纯javascript:

    var checkedValue = null; 
    var inputElements = document.getElementsByClassName('messageCheckbox');
    for(var i=0; inputElements[i]; ++i){
          if(inputElements[i].checked){
               checkedValue = inputElements[i].value;
               break;
          }
    }
    
  • 2

    以上都不适合我,只是使用这个:

    document.querySelector('.messageCheckbox').checked;
    

    快乐的编码 .

  • 9

    我在我的代码中使用它 . 试试这个

    var x=$("#checkbox").is(":checked");
    

    如果选中该复选框, x 将为true,否则将为false .

  • 0

    这不能直接回答这个问题,但可能有助于未来的访问者 .


    如果您希望变量始终是复选框的当前状态(而不是必须继续检查其状态),则可以修改 onchange 事件以设置该变量 .

    这可以在HTML中完成:

    <input class='messageCheckbox' type='checkbox' onchange='some_var=this.checked;'>
    

    或使用JavaScript:

    cb = document.getElementsByClassName('messageCheckbox')[0]
    cb.addEventListener('change', function(){some_var = this.checked})
    
  • 3

    用这个:

    alert($(".messageCheckbox").is(":checked").val())
    

    这假设要检查的复选框具有类“messageCheckbox”,否则您必须检查输入是否为复选框类型等 .

  • -3

    如果您正在使用Semantic UI Reactdata 将作为第二个参数传递给 onChange 事件 .

    因此,您可以按如下方式访问 checked 属性:

    <Checkbox label="Conference" onChange={(e, d) => console.log(d.checked)} />
    
  • 3

    在我的项目中,我通常使用这个片段:

    var type[];
    $("input[name='messageCheckbox']:checked").each(function (i) {
                    type[i] = $(this).val();
                });
    

    它运作良好 . 最良好的问候 .

相关问题