获取已选中复选框的值

时间:2015-05-31 15:17:30

标签: javascript jquery html ajax

我正在尝试获取已检查的复选框的值,但问题是它们在我的网页上是动态的,例如:

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;

1 个答案:

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

&#13;
&#13;
    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;
&#13;
&#13;