我得到的代码是这样的:

<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">

我只需要Javascript来获取当前选中的复选框的值。

编辑:要添加,将只有一个复选框。


当前回答

如果你使用的是语义UI React,数据会作为第二个参数传递给onChange事件。

因此,您可以按以下方式访问选中的属性:

<Checkbox label="Conference" onChange={(e, d) => console.log(d.checked)} />

其他回答

用这个:

alert($(".messageCheckbox").is(":checked").val())

这假设要检查的复选框具有类“messageCheckbox”,否则您必须检查输入是否为复选框类型,等等。

<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);
}

当框没有被选中时,上面的工作对我来说都没有抛出错误,所以我做了一些沿着这些线的事情(onclick和复选框函数仅用于演示目的,在我的用例中,它是一个更大的表单提交函数的一部分):

函数复选框(){ Var检查= false; if (document.querySelector('#opt1:checked')) { 选中= true; } . getelementbyid(“味精”)。innerText =已检查; } <input type="checkbox" onclick="checkbox()" id="opt1"> <span id="msg">单击方框</span>

在我的项目中,我通常使用以下片段:

var type[];
$("input[name='messageCheckbox']:checked").each(function (i) {
                type[i] = $(this).val();
            });

而且效果很好。

在纯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);
    }
}