我得到的代码是这样的:
<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来获取当前选中的复选框的值。
编辑:要添加,将只有一个复选框。
当前回答
如果您想使用jQuery获取所有复选框的值,这可能会有所帮助。这将解析列表,并根据所需的结果执行其他代码。顺便说一下,出于这个目的,我们不需要用括号[]来命名输入。我没讲。
$(document).on("change", ".messageCheckbox", function(evnt){
var data = $(".messageCheckbox");
data.each(function(){
console.log(this.defaultValue, this.checked);
// Do something...
});
}); /* END LISTENER messageCheckbox */
其他回答
在纯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);
}
}
用这个:
alert($(".messageCheckbox").is(":checked").val())
这假设要检查的复选框具有类“messageCheckbox”,否则您必须检查输入是否为复选框类型,等等。
对于现代浏览器:
var checkedValue = document.querySelector('.messageCheckbox:checked').value;
使用jQuery:
var checkedValue = $('.messageCheckbox:checked').val();
纯javascript没有jQuery:
var checkedValue = null;
var inputElements = document.getElementsByClassName('messageCheckbox');
for(var i=0; inputElements[i]; ++i){
if(inputElements[i].checked){
checkedValue = inputElements[i].value;
break;
}
}
在我的项目中,我通常使用以下片段:
var type[];
$("input[name='messageCheckbox']:checked").each(function (i) {
type[i] = $(this).val();
});
而且效果很好。
您可以通过jQuery或JavaScript使用以下方法来检查复选框是否被单击。
$('.messageCheckbox').is(":checked"); // jQuery
document.getElementById(".messageCheckbox").checked //JavaScript
在jQuery中获取检查值:
$(".messageCheckbox").is(":checked").val();