Javascript 提交多个复选框值
jquery: html:Javascript 提交多个复选框值,javascript,jquery,html,forms,checkbox,Javascript,Jquery,Html,Forms,Checkbox,jquery: html: opt1 opt2 opt3 我如何将此复选框值传递给func(复选框值)?您可以使用以下方法: <form id="myForm"> <label class="checkbox"> <input type="checkbox" name="my_opt[]" value="1">opt1</label> <label class="checkbox"> <input type="checkbox
opt1
opt2
opt3
我如何将此复选框值传递给func(复选框值)?您可以使用以下方法:
<form id="myForm">
<label class="checkbox">
<input type="checkbox" name="my_opt[]" value="1">opt1</label>
<label class="checkbox">
<input type="checkbox" name="my_opt[]" value="2">opt2</label>
<label class="checkbox">
<input type="checkbox" name="my_opt[]" value="3">opt3</label>
<input id='my_opt' type='hidden' name='my_opt[]' />
<input type="button" id="button_submit" value="go">
</form>
解释
选择作为$('#myForm[type=“checkbox”]:checked')
的后代的元素,该元素具有值为#myForm
的checkbox
属性,并被选中type
方法对结果元素进行迭代,并将函数中返回的值(即元素的.map()
,因为这里“它指的是实际的DOM元素”)添加到集合中值
- 最后,使用
将集合转换为简单的Javascript数组.get()
<form id="myForm">
<label class="checkbox">
<input type="checkbox" name="my_opt[]" value="1">opt1</label>
<label class="checkbox">
<input type="checkbox" name="my_opt[]" value="2">opt2</label>
<label class="checkbox">
<input type="checkbox" name="my_opt[]" value="3">opt3</label>
<input id='my_opt' type='hidden' name='my_opt[]' />
<input type="button" id="button_submit" value="go">
</form>
解释
选择作为$('#myForm[type=“checkbox”]:checked')
的后代的元素,该元素具有值为#myForm
的checkbox
属性,并被选中type
方法对结果元素进行迭代,并将函数中返回的值(即元素的.map()
,因为这里“它指的是实际的DOM元素”)添加到集合中值
- 最后,使用
将集合转换为简单的Javascript数组.get()
var check_box_values = $('#myForm [type="checkbox"]:checked').map(function () {
return this.value;
}).get();
如果需要所有复选框元素(而不仅仅是选中的元素),请尝试此操作。这不使用jQuery
var check_box_values = $('#myForm [type="checkbox"]:checked').map(function () {
return this.value;
}).get();
如果要获取复选框的值,可以使用此代码
var formEl = document.getElementById('myForm'),
inputs = formEl.getElementsByTagName('input'),
numInputs = inputs.length,
checkboxEls = [];
while(numInputs--) {
if (inputs[numInputs].getAttribute('type') == 'checkbox') checkboxEls.push(inputs[numInputs]);
}
func(checkboxEls);
此代码将在整个表单上创建一个循环,并检查复选框是否为check,然后在代码中调用func函数。如果要获取复选框的值,可以使用此代码
var formEl = document.getElementById('myForm'),
inputs = formEl.getElementsByTagName('input'),
numInputs = inputs.length,
checkboxEls = [];
while(numInputs--) {
if (inputs[numInputs].getAttribute('type') == 'checkbox') checkboxEls.push(inputs[numInputs]);
}
func(checkboxEls);
这段代码将在整个表单上创建一个循环,并检查复选框是否为check,然后在代码中调用func函数。我忘了说我应该能够进一步使用复选框值。例如,
if(check\u-box\u-values==1)//您的解决方案是否有可能实现某种功能?@skdnewbie这些值将被收集到一个数组中(名为check\u-box\u-values
)。您可以对数组执行任何操作,比如对其使用jQuery的inArray()
方法来检查其中是否存在特定值。如果选中前两个复选框,数组将是[1,2]
,包含选中复选框的值。您肯定已经意识到我是初学者,因此我会问您,很抱歉,我如何才能获得数组值。谢谢,这就是我一直在找的for@skdnewbie例如,要检查数组中是否有2
,可以使用以下命令编写if($.inArray('2',check_box_values)>-1){//it's fine}
。例如,你可以阅读一些知识,如果没有这些知识,你就无法成功。如果我只想传递未检查的值,那有多困难?我忘了说我应该能够进一步处理复选框值。例如,if(check\u-box\u-values==1)//您的解决方案是否有可能实现某种功能?@skdnewbie这些值将被收集到一个数组中(名为check\u-box\u-values
)。您可以对数组执行任何操作,比如对其使用jQuery的inArray()
方法来检查其中是否存在特定值。如果选中前两个复选框,数组将是[1,2]
,包含选中复选框的值。您肯定已经意识到我是初学者,因此我会问您,很抱歉,我如何才能获得数组值。谢谢,这就是我一直在找的for@skdnewbie例如,要检查数组中是否有2
,可以使用以下命令编写if($.inArray('2',check_box_values)>-1){//it's fine}
。例如,你可以阅读一些知识,如果没有这些知识,你就无法成功。如果我只想传递未检查的值,这有多困难?