数组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>