我得到的代码是这样的:

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

我只需要Javascript来获取当前选中的复选框的值。

编辑:要添加,将只有一个复选框。


当前回答

这并不能直接回答这个问题,但可能会对未来的访问者有所帮助。


如果您想让一个变量始终是复选框的当前状态(而不是必须不断检查其状态),您可以修改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})

其他回答

$(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">

用这个:

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

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

如果您想使用jQuery获取所有复选框的值,这可能会有所帮助。这将解析列表,并根据所需的结果执行其他代码。顺便说一下,出于这个目的,我们不需要用括号[]来命名输入。我没讲。

  $(document).on("change", ".messageCheckbox", function(evnt){
    var data = $(".messageCheckbox");
    data.each(function(){
      console.log(this.defaultValue, this.checked);
      // Do something... 
    });
  }); /* END LISTENER messageCheckbox */

我在我的代码中使用这个。试试这个

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

如果复选框被选中,则x为真,否则为假。

当框没有被选中时,上面的工作对我来说都没有抛出错误,所以我做了一些沿着这些线的事情(onclick和复选框函数仅用于演示目的,在我的用例中,它是一个更大的表单提交函数的一部分):

函数复选框(){ Var检查= false; if (document.querySelector('#opt1:checked')) { 选中= true; } . getelementbyid(“味精”)。innerText =已检查; } <input type="checkbox" onclick="checkbox()" id="opt1"> <span id="msg">单击方框</span>