我得到的代码是这样的:
<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来获取当前选中的复选框的值。
编辑:要添加,将只有一个复选框。
当前回答
以上这些方法对我来说都没用,但只要使用以下方法即可:
document.querySelector('.messageCheckbox').checked;
其他回答
您可以通过jQuery或JavaScript使用以下方法来检查复选框是否被单击。
$('.messageCheckbox').is(":checked"); // jQuery
document.getElementById(".messageCheckbox").checked //JavaScript
在jQuery中获取检查值:
$(".messageCheckbox").is(":checked").val();
以上这些方法对我来说都没用,但只要使用以下方法即可:
document.querySelector('.messageCheckbox').checked;
用这个:
alert($(".messageCheckbox").is(":checked").val())
这假设要检查的复选框具有类“messageCheckbox”,否则您必须检查输入是否为复选框类型,等等。
惊讶地发现这里没有可用的普通JavaScript解决方案(当您遵循最佳实践并为每个HTML元素使用不同的id时,投票最多的答案是无效的)。然而,这对我来说很管用:
Array.prototype.slice.call(document.querySelectorAll("[name='mailId']:checked"),0).map(function(v,i,a) {
return v.value;
});
在纯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);
}
}