我得到的代码是这样的:
<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;
}
}
以上这些方法对我来说都没用,但只要使用以下方法即可:
document.querySelector('.messageCheckbox').checked;
如果您想使用jQuery获取所有复选框的值,这可能会有所帮助。这将解析列表,并根据所需的结果执行其他代码。顺便说一下,出于这个目的,我们不需要用括号[]来命名输入。我没讲。
$(document).on("change", ".messageCheckbox", function(evnt){
var data = $(".messageCheckbox");
data.each(function(){
console.log(this.defaultValue, this.checked);
// Do something...
});
}); /* END LISTENER messageCheckbox */
如果你使用的是语义UI React,数据会作为第二个参数传递给onChange事件。
因此,您可以按以下方式访问选中的属性:
<Checkbox label="Conference" onChange={(e, d) => console.log(d.checked)} />
这并不能直接回答这个问题,但可能会对未来的访问者有所帮助。
如果您想让一个变量始终是复选框的当前状态(而不是必须不断检查其状态),您可以修改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})