首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将单选按钮输入保存到数组中

将单选按钮输入保存到数组中
EN

Stack Overflow用户
提问于 2019-05-10 02:00:50
回答 1查看 35关注 0票数 1

我正在处理一个自定义调查,该调查由数据库信息动态填充,需要保存为数组。我可以让一切正常工作,除了我想对许多答案使用星级评分系统,而且似乎单选按钮不能像这样工作:

代码语言:javascript
复制
<input type="radio" name="surveyRating[]" value="1" />
<input type="radio" name="surveyRating[]" value="2" />
<input type="radio" name="surveyRating[]" value="3" />
<input type="radio" name="surveyRating[]" value="4" />
<input type="radio" name="surveyRating[]" value="5" />

因为有多个相同代码的实例。这将被保存到一个数组中,因此surveyRating将被反复使用。如果我单击一个组中的单选按钮,它将更改为另一个组中的单选按钮。

我已经读到,我可能会用复选框来做这件事。这是最好的选择吗?或者有没有其他我应该考虑的选择?我希望最终的产品是星级评分1-5。不确定是否可以使用复选框做到这一点。

编辑

好的,只要客户端的单选按钮不冲突,使用name="surveyRating[1]"是有帮助的。然而,它不能正确地保存我现在设置的php。下面是它当前的保存方式。要使[1]正常工作,我需要进行哪些更改。目前它只保存最后一次迭代。

代码语言:javascript
复制
$new = array();
$ratings = $_POST['surveyRating'];
$count = count( $ratings );
for ( $i = 0; $i < $count; $i++ ) {
  if ( $ratings[$i] != '' ) {
    $new[$i]['surveyRating'] = stripslashes( strip_tags( $ratings[$i] ) );
  }
}

编辑2个

因此,为了演示我如何使用下面的答案完成此任务,我必须添加作为循环中的第一个迭代。我使用$items = 0; $items++向每个循环动态添加一个数字。

为了让它从0开始,我将$items = -1设置为第一次迭代是0而不是1。希望这是有意义的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-10 02:03:32

是的,它是这样的,因为你的名字是[]。这是用于数组的。删除它,您将获得不带数组的数组:

代码语言:javascript
复制
<input type="radio" name="surveyRating" value="1" />
<input type="radio" name="surveyRating" value="2" />
<input type="radio" name="surveyRating" value="3" />
<input type="radio" name="surveyRating" value="4" />
<input type="radio" name="surveyRating" value="5" />

对于具有多个组的单选按钮,您必须执行以下操作:

代码语言:javascript
复制
<!-- Group 1 -->
<input type="radio" name="surveyRating[1]" value="1" />
<input type="radio" name="surveyRating[1]" value="2" />
<input type="radio" name="surveyRating[1]" value="3" />
<input type="radio" name="surveyRating[1]" value="4" />
<input type="radio" name="surveyRating[1]" value="5" />

<!-- Group 2 -->
<input type="radio" name="surveyRating[2]" value="1" />
<input type="radio" name="surveyRating[2]" value="2" />
<input type="radio" name="surveyRating[2]" value="3" />
<input type="radio" name="surveyRating[2]" value="4" />
<input type="radio" name="surveyRating[2]" value="5" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56065144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档