Cli*_*ote 150 javascript ajax jquery dhtml
所以我有这些复选框:
<input type="checkbox" name="type" value="4" />
<input type="checkbox" name="type" value="3" />
<input type="checkbox" name="type" value="1" />
<input type="checkbox" name="type" value="5" />
Run Code Online (Sandbox Code Playgroud)
等等.大约有6个并且是手工编码的(即不是从数据库中提取的),因此它们可能会暂时保持不变.
我的问题是如何将它们全部放入数组中(在javascript中),因此我可以在$.post使用Jquery 发出AJAX 请求时使用它们.
有什么想法吗?
编辑:我只希望将选中的复选框添加到数组中
ybo*_*ybo 300
格式化:
$("input:checkbox[name=type]:checked").each(function(){
yourArray.push($(this).val());
});
Run Code Online (Sandbox Code Playgroud)
希望它会奏效.
小智 53
var chk_arr = document.getElementsByName("chkRights[]");
var chklength = chk_arr.length;
for(k=0;k< chklength;k++)
{
chk_arr[k].checked = false;
}
Run Code Online (Sandbox Code Playgroud)
Bar*_*Alp 37
我没有测试它,但它应该工作
<script type="text/javascript">
var selected = new Array();
$(document).ready(function() {
$("input:checkbox[name=type]:checked").each(function() {
selected.push($(this).val());
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
小智 28
纯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)
}
Run Code Online (Sandbox Code Playgroud)
Geo*_*lly 23
这应该做的伎俩:
$('input:checked');
Run Code Online (Sandbox Code Playgroud)
我不认为你有其他可以检查的元素,但如果你这样做,你必须使它更具体:
$('input:checkbox:checked');
$('input:checkbox').filter(':checked');
Run Code Online (Sandbox Code Playgroud)
Wil*_*ert 16
无需临时变量的纯 JavaScript:
Array.from(document.querySelectorAll("input[type=checkbox][name=type]:checked")).map(e => e.value)
Run Code Online (Sandbox Code Playgroud)
Lee*_*Gee 14
在MooTools 1.3(撰写本文时最新):
var array = [];
$$("input[type=checkbox]:checked").each(function(i){
array.push( i.value );
});
Run Code Online (Sandbox Code Playgroud)
小智 12
在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<nr_inpfields; i++) {
if(inpfields[i].type == 'checkbox' && inpfields[i].checked == true) selchbox.push(inpfields[i].value);
}
return selchbox;
}
Run Code Online (Sandbox Code Playgroud)
Ter*_*ite 12
如果你想使用一个vanilla JS,你可以像@ zahid-ullah那样做,但是避免循环:
var values = [].filter.call(document.getElementsByName('fruits[]'), function(c) {
return c.checked;
}).map(function(c) {
return c.value;
});
Run Code Online (Sandbox Code Playgroud)
ES6中的相同代码看起来更好:
var values = [].filter.call(document.getElementsByName('fruits[]'), (c) => c.checked).map(c => c.value);
Run Code Online (Sandbox Code Playgroud)
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);
}Run Code Online (Sandbox Code Playgroud)
label {
display: block;
}Run Code Online (Sandbox Code Playgroud)
<label>
<input type="checkbox" name="fruits[]" value="banana">Banana
</label>
<label>
<input type="checkbox" name="fruits[]" value="apple">Apple
</label>
<label>
<input type="checkbox" name="fruits[]" value="peach">Peach
</label>
<label>
<input type="checkbox" name="fruits[]" value="orange">Orange
</label>
<label>
<input type="checkbox" name="fruits[]" value="strawberry">Strawberry
</label>
<button onclick="serialize()">Serialize
</button>
<div id="serialized">
</div>Run Code Online (Sandbox Code Playgroud)
ES6版本:
const values = Array
.from(document.querySelectorAll('input[type="checkbox"]'))
.filter((checkbox) => checkbox.checked)
.map((checkbox) => checkbox.value);
Run Code Online (Sandbox Code Playgroud)
const values = Array
.from(document.querySelectorAll('input[type="checkbox"]'))
.filter((checkbox) => checkbox.checked)
.map((checkbox) => checkbox.value);
Run Code Online (Sandbox Code Playgroud)
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();
});Run Code Online (Sandbox Code Playgroud)
var checkedValues = $('input:checkbox.vdrSelected:checked').map(function () {
return this.value;
}).get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
400155 次 |
| 最近记录: |