【发布时间】:2012-07-31 10:24:50
【问题描述】:
我这里有一个非常讨厌的问题!
我有一个<ul>,每个<li> 都有一组输入。在每个列表元素中都有一个单选按钮,我想将它们组合在一起以使它们在单击时切换。
问题是无线电无法连接!如果我单击其中两个,它们都会被选中!
这是代码:http://jsfiddle.net/bakaburg1/Djq5q/1/
注意:这是 wordpress 自定义字段的代码。
非常感谢!
编辑1: 重要的是每个列表元素中的字段保持连接,以便在 PHP 端我得到这样的数据结构:
array (
0 =>
array (
'answer' => 'answer1',
),
1 =>
array (
'answer' => 'answer2',
),
2 =>
array (
'is_right' => 'on',
'answer' => 'answer3',
),
3 =>
array (
'answer' => 'yiuyiuyiuj',
),
)
编辑2: 目前我用一些 jQuery 修补了这个问题:
jQuery('.mm_ps_answers input:radio').click(function(){
jQuery(this).parents('ul').find('input:radio').not(this).attr('checked', false)
})
虽然不确定最优雅的解决方案,但也可以随意评论(不回答)这个 sn-p!
编辑3: 我通过给字段赋予三个不同的名称解决了这个问题,然后将 POST 的数据合并到一个数组中,然后序列化并保存在数据库中。
<li>
<a class="mm_ps_move button"><img src="http://localhost:8888/minimamedicamenta/wp-content/themes/minima/img/move.png"></a>
<a class="mm_ps_delete_answer button">Delete Answer</a>
<input type="radio" class="mm_ps_is_right" name="mm_ps_answers_is_right[]">
<input type="text" name="mm_ps_answers_input[]" value="">
<input type="hidden" name="mm_ps_answers_impressions[]">
<span class="mm_ps_impressions">impressions: <span>0</span></span>
</li>
虽然弹出了另一个问题......虽然文本输入字段后端的 POST 数据是一个有序数组,每个字段都有一个值,也包括空字段,单选按钮只发送一个值,所以我不知道已经检查了 wich 列表元素中的 wich 收音机,对此有什么帮助吗?这是 POST 中三个输入的数据(值是随机字符串):
[04-Aug-2012 17:18:45] Line (in ):
array (
0 => 'cvxcv',
1 => 'vs',
2 => '',
3 => 's',
)
[04-Aug-2012 17:18:45] Line (in ):
array (
0 => 'on',
)
[04-Aug-2012 17:18:45] Line (in ):
array (
0 => '',
1 => '',
2 => '',
3 => '',
)
编辑4: 我使用 javascript 修复了问题,该 javascript 为修改列表的每个操作(排序、添加、删除元素)上的单选按钮分配了一个递增的数值。虽然不是很干净。
【问题讨论】:
标签: forms radio-button html-lists radiobuttonlist