所以我的代码看起来像这样:
<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;
对于现代浏览器:
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 x=$("#checkbox").is(":checked");
如果复选框被选中,则为x
真,否则为假。
在普通的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);
}
}
这并不能直接回答问题,但可能对未来的访问者有所帮助。
如果您希望变量始终是复选框的当前状态(而不是必须不断检查其状态),您可以修改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})