所以我有这些复选框:
等等.大约有6个并且是手工编码的(即不是从数据库中提取的),因此它们可能会暂时保持不变.
我的问题是如何将它们全部放入数组中(在javascript中),因此我可以在$.post
使用Jquery 发出AJAX 请求时使用它们.
有什么想法吗?
编辑:我只希望将选中的复选框添加到数组中
格式化:
$("input:checkbox[name=type]:checked").each(function(){ yourArray.push($(this).val()); });
希望它会奏效.
var chk_arr = document.getElementsByName("chkRights[]"); var chklength = chk_arr.length; for(k=0;k< chklength;k++) { chk_arr[k].checked = false; }
我没有测试它,但它应该工作
纯JS
对于那些不想使用jQuery的人
var array = [] var checkboxes = document.querySelectorAll('input[type=checkbox]:checked') for (var i = 0; i < checkboxes.length; i++) { array.push(checkboxes[i].value) }
这应该做的伎俩:
$('input:checked');
我不认为你有其他可以检查的元素,但如果你这样做,你必须使它更具体:
$('input:checkbox:checked'); $('input:checkbox').filter(':checked');
在MooTools 1.3(撰写本文时最新):
var array = []; $$("input[type=checkbox]:checked").each(function(i){ array.push( i.value ); });
在Javascript中它就像这样(演示链接):
// get selected checkboxes function getSelectedChbox(frm) { var selchbox = [];// array that will store the value of selected checkboxes // gets all the input tags in frm, and their number var inpfields = frm.getElementsByTagName('input'); var nr_inpfields = inpfields.length; // traverse the inpfields elements, and adds the value of selected (checked) checkbox in selchbox for(var i=0; i
8> Terite..:如果你想使用一个vanilla JS,你可以像@ zahid-ullah那样做,但是避免循环:
var values = [].filter.call(document.getElementsByName('fruits[]'), function(c) { return c.checked; }).map(function(c) { return c.value; });ES6中的相同代码看起来更好:
var values = [].filter.call(document.getElementsByName('fruits[]'), (c) => c.checked).map(c => c.value);
window.serialize = function serialize() { var values = [].filter.call(document.getElementsByName('fruits[]'), function(c) { return c.checked; }).map(function(c) { return c.value; }); document.getElementById('serialized').innerText = JSON.stringify(values); }
label { display: block; }
9> quotesBro..:ES6版本:
const values = Array .from(document.querySelectorAll('input[type="checkbox"]')) .filter((checkbox) => checkbox.checked) .map((checkbox) => checkbox.value);
const values = Array .from(document.querySelectorAll('input[type="checkbox"]')) .filter((checkbox) => checkbox.checked) .map((checkbox) => checkbox.value);function getCheckedValues() { return Array.from(document.querySelectorAll('input[type="checkbox"]')) .filter((checkbox) => checkbox.checked) .map((checkbox) => checkbox.value); } const resultEl = document.getElementById('result'); document.getElementById('showResult').addEventListener('click', () => { resultEl.innerHTML = getCheckedValues(); });