我正在尝试获取已检查的复选框的值,但问题是它们在我的网页上是动态的,例如:
while ($row=myqli_fetch_array($result)){
echo"<div>";
echo"<select id=\"course\" onchange=getCheckBox()>
<option>1</option>
<option>2</option>
</select>";
echo"<div id=\"checkBoxArea\">";
echo"<buttton id=\"w\" >w</button></div>";
}
ajax调用getCheckBok()
将从服务器获取结果,但是在checkBoxArea上,结果将如下所示:
echo "<input type=\"checkbox\" value=\"aaa\" class=\"stdcheckbox\">";
echo "<input type=\"checkbox\" value=\"bbb\" class=\"stdcheckbox\">";
按下按钮时w我需要获取已选中复选框的值我该怎么办?
我试过这个jQuery代码:
var x=$(this).parent().find(".stdCheckBox").value;
答案 0 :(得分:2)
Vanilla JavaScript 解决方案,用于创建已检查的值的数组 <input type="checkbox"/>
< / p>
function checked_values(node) {
var checked;
if (!node) node = document;
checked = node.querySelectorAll('input[type="checkbox"]:checked');
return Array.prototype.map.call(checked, function (e) {return e.value;});
}
function checked_values(node) {
var checked;
if (!node) node = document;
checked = node.querySelectorAll('input[type="checkbox"]:checked');
return Array.prototype.map.call(checked, function (e) {return e.value;});
}
window.addEventListener('load', function () {
document.querySelector('button').addEventListener('click', function () {
console.log(checked_values());
});
});
&#13;
<label><input type="checkbox" value="a"/>a</label><br/>
<label><input type="checkbox" value="b"/>b</label><br/>
<label><input type="checkbox" value="c"/>c</label><br/>
<label><input type="checkbox" value="d"/>d</label><br/>
<button>Test (console)</button>
&#13;