数组javascript中的复选框值
我有一个复选框列表,我的目标是创建和存储复选框的值,只保存选中的值。有人能用这个来指导我吗数组javascript中的复选框值,javascript,checkbox,Javascript,Checkbox,我有一个复选框列表,我的目标是创建和存储复选框的值,只保存选中的值。有人能用这个来指导我吗 <input type="checkbox" name="vehicle" value="Bike"/> <input type="checkbox" name="vehicle" value="Car"/> <input type="checkbox" name="vehicle" value="Airplane"/> 请做一件事将名称车辆更改为车辆[] <i
<input type="checkbox" name="vehicle" value="Bike"/>
<input type="checkbox" name="vehicle" value="Car"/>
<input type="checkbox" name="vehicle" value="Airplane"/>
请做一件事将名称
车辆更改为车辆[]
<input type="checkbox" name="vehicle[]" value="Bike"/>
<input type="checkbox" name="vehicle[]" value="Car"/>
<input type="checkbox" name="vehicle[]" value="Airplane"/>
在post中,您将收到已检查车辆值的数组,您可以将其存储到DB中
在$\u POST['vehicle']
中,如果使用jQuery:
var vehicles = [];
$("input:checked").each(function() {
vehicles.push($(this).val());
});
console.log(vehicles);
你真的应该展示一些你尝试过的代码。您可以按名称获取复选框,然后在其上循环并收集已选中复选框的值:
<script>
function getCheckboxValues(form) {
var values = [];
var vehicles = form.vehicle;
for (var i=0, iLen=vehicles.length; i<iLen; i++) {
if (vehicles[i].checked) {
values.push(vehicles[i].value);
}
}
// Do something with values
alert("Vehicles: " + values.join(', '));
return values;
}
</script>
<form onsubmit="getCheckboxValues(this); return false;">
Bike: <input type="checkbox" name="vehicle" value="Bike"><br>
Car: <input type="checkbox" name="vehicle" value="Car"><br>
Aeroplane: <input type="checkbox" name="vehicle" value="Airplane"><br>
<input type="reset"> <input type="submit">
</form>
函数getCheckboxValues(表单){
var值=[];
var车辆=形式车辆;
对于(var i=0,iLen=vehicles.length;i更新答案
var input = document.getElementsByTagName('input')
, value = {0:'', 1:'', 2:''}
, x = input.length--
, array
, box
;
function handle (x) {
input[x].onchange = function () {
box = input[x];
value[x] = box.checked ? box.value : '';
array = [value[0], value[1], value[2]];
console.log(array);
};
}
while (x) handle(--x);
观看现场演示
或
如果您想使用复选框
,请在jQuery下面选择
<input type="checkbox" name="vehicle" value="Bike"/>
<input type="checkbox" name="vehicle" value="Car"/>
<input type="checkbox" name="vehicle" value="Airplane"/>
<script>
$('input[name=vahicle]').click(function(){
$('input[name=vahicle]').removeAttr('checked');
$(this).attr('checked', true);
});
</script>
$('input[name=vahicle]')。单击(函数(){
$('input[name=vahicle]')。删除属性('checked');
$(this.attr('checked',true);
});
希望这将对您有所帮助…!!如果您只需要三个选项中的一个,请使用单选按钮。如果选中了多个选项怎么办?是的,如果用户选中了其中两个选项,我只想存储选中的复选框的2值checked@user2310422请澄清您的问题,您希望将其存储在PHP数组、Js数组或其他..HTML5本地存储?没有提到服务器端语言..根据假设回答不是很好…!但它属于php@Ian嘿,mate,早些时候它在php标记下,当您想像RobG的回答那样在javascript中处理字段时,使用末尾带有“[]”的字段名会带来麻烦。或者更简单:var vehicles=$(“输入:选中”).map(函数(){return this.value;}).get();
是的,我看到jQuery标记…@RobG现在浏览器不是标准的jQuery吗?;-)form.vechicle是null@GiorgosFandomas–不是在我测试过的任何浏览器中,也不是在过去20年中支持脚本编写的常用浏览器中。;-)
<input type="radio" name="vehicle" value="Bike"/>
<input type="radio" name="vehicle" value="Car"/>
<input type="radio" name="vehicle" value="Airplane"/>
<input type="checkbox" name="vehicle" value="Bike"/>
<input type="checkbox" name="vehicle" value="Car"/>
<input type="checkbox" name="vehicle" value="Airplane"/>
<script>
$('input[name=vahicle]').click(function(){
$('input[name=vahicle]').removeAttr('checked');
$(this).attr('checked', true);
});
</script>