我得到的代码是这样的:

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

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

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


当前回答

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

其他回答

对于现代浏览器:

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

用这个:

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

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

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

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

<Checkbox label="Conference" onChange={(e, d) => console.log(d.checked)} />
<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);
}

惊讶地发现这里没有可用的普通JavaScript解决方案(当您遵循最佳实践并为每个HTML元素使用不同的id时,投票最多的答案是无效的)。然而,这对我来说很管用:

Array.prototype.slice.call(document.querySelectorAll("[name='mailId']:checked"),0).map(function(v,i,a) { 
      return v.value; 
  });