我得到的代码是这样的:
<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">
我只需要Javascript来获取当前选中的复选框的值。
编辑:要添加,将只有一个复选框。
我得到的代码是这样的:
<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">
我只需要Javascript来获取当前选中的复选框的值。
编辑:要添加,将只有一个复选框。
当前回答
惊讶地发现这里没有可用的普通JavaScript解决方案(当您遵循最佳实践并为每个HTML元素使用不同的id时,投票最多的答案是无效的)。然而,这对我来说很管用:
Array.prototype.slice.call(document.querySelectorAll("[name='mailId']:checked"),0).map(function(v,i,a) {
return v.value;
});
其他回答
用这个:
alert($(".messageCheckbox").is(":checked").val())
这假设要检查的复选框具有类“messageCheckbox”,否则您必须检查输入是否为复选框类型,等等。
我在我的代码中使用这个。试试这个
var x=$("#checkbox").is(":checked");
如果复选框被选中,则x为真,否则为假。
<input class="messageCheckbox" type="checkbox" onchange="getValue(this.value)" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" onchange="getValue(this.value)" value="1" name="mailId[]">
function getValue(value){
alert(value);
}
惊讶地发现这里没有可用的普通JavaScript解决方案(当您遵循最佳实践并为每个HTML元素使用不同的id时,投票最多的答案是无效的)。然而,这对我来说很管用:
Array.prototype.slice.call(document.querySelectorAll("[name='mailId']:checked"),0).map(function(v,i,a) {
return v.value;
});
这并不能直接回答这个问题,但可能会对未来的访问者有所帮助。
如果您想让一个变量始终是复选框的当前状态(而不是必须不断检查其状态),您可以修改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})