【问题标题】:i have multiple radio button in same name as array and same value [duplicate]我有多个与数组同名且值相同的单选按钮[重复]
【发布时间】:2018-07-27 09:53:13
【问题描述】:

我有多个与数组同名且值相同的单选按钮。

   <input type="radio" name="radio_name[]" id="radi_name" value="1" checked>
   <label for="radio1">Set as Default</label>
   <input type="radio" name="radio_name[]" id="radi_name" value="1"  >
   <label for="radio1">Set as Default</label>
   <input type="radio" name="radio_name[]" id="radi_name" value="1"  >
   <label for="radio1">Set as Default</label>
   <input type="radio" name="radio_name[]" id="radi_name" value="1" >
   <label for="radio1">Set as Default</label>

在php中我是这样使用的

    $a[]=$_post['radio_name'];
    prinr_r($a);

我得到这样的结果:

Array ( [0] => 1 )

如果我取消选中设置为零的按钮,我希望结果是这样的

Array ( [0] => 1,[1] => 0,[2] => 0,[3] => 0 )

请查看此图片 i have form like this

【问题讨论】:

  • 是的,但我仍然没有得到解决方案,我正在那里打击
  • 单选按钮不用于多选选项。改用复选框或多选

标签: php html arrays


【解决方案1】:

您只需要使用 [] 而不是数组键,还需要使用 checkbox 而不是 radio 。所以使用下面的代码它会为你工作。

         <input type="checkbox" name="radio_name[]" id="radi_name1" value="1" checked>
         <label for="radio1">Set as Default</label>
         <input type="checkbox" name="radio_name[]" id="radi_name2" value="1"  >
         <label for="radio1">Set as Default</label>
         <input type="checkbox" name="radio_name[]" id="radi_name3" value="1"  >
         <label for="radio1">Set as Default</label>
         <input type="checkbox" name="radio_name[]" id="radi_name4" value="1" >
         <label for="radio1">Set as Default</label>

【讨论】:

  • 我也试过了,但我不会为我工作
  • 这真的和OP的代码一样。
  • 直到我没有得到解决方案
  • 由于 ID 属性重复,html 无效。还假设每个元素的值都相同,那么实际上只有一个元素而不是四个。
  • @RamRaider ,我只是更正了名称的代码并且只需要一个。并且用户没有使用 id 所以我跳过了。无论如何,谢谢你指出这让我更正这段代码。
【解决方案2】:

如果没有选择任何值,我很确定单选按钮不会发送到服务器。在您的 html 中,您确实有 4 个不同的单选按钮组,因此只有具有选定值的单选按钮组才会被发送。

如果你想要 4 个组,每个组总是发送一个值,你应该这样做:

<input type="radio" name="radio_name[1]" value="1" id="radio1" checked>
<input type="radio" name="radio_name[1]" value="0">
<label for="radio1">Set as Default</label>
<input type="radio" name="radio_name[2]" value="1" id="radio2">
<input type="radio" name="radio_name[2]" value="0" checked>
<label for="radio2">Set as Default</label>
// etc.

这样您将拥有独立的单选按钮组,您将获得所需的结果。

【讨论】:

    【解决方案3】:

    您必须使用复选框而不是收音机。 Radio 只允许发布 1 个值,并像 dipmala 建议的那样删除数组键。

    【讨论】:

    • 嘿@Eng Cy 是的,你是真的,我真的跳过它的单选按钮。谢谢指正。
    • 但是如果我使用复选框,一组按钮中的所有按钮都需要检查其中一个,他们可以检查多个花花公子
    • 你需要的是checked的结果,为什么要get all unchecked radio?
    • 请大家检查上面的图片,我有这样的表格
    猜你喜欢
    • 2019-01-04
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多