我这里有一个非常讨厌的问题!
我<ul>
在每个<li>
. 在每个列表元素中都有一个单选按钮,我想将它们组合在一起以使它们在单击时切换。
问题是收音机无法连接!如果我单击其中两个,它们都会被选中!
这是代码:http: //jsfiddle.net/bakaburg1/Djq5q/1/
注意:这是 wordpress 自定义字段的代码。
非常感谢!
EDIT1:重要的是每个列表元素中的字段保持连接,以便在 PHP 端我得到这样的数据结构:
array (
0 =>
array (
'answer' => 'answer1',
),
1 =>
array (
'answer' => 'answer2',
),
2 =>
array (
'is_right' => 'on',
'answer' => 'answer3',
),
3 =>
array (
'answer' => 'yiuyiuyiuj',
),
)
EDIT2:暂时我用一些jQuery修补了这个问题:
jQuery('.mm_ps_answers input:radio').click(function(){
jQuery(this).parents('ul').find('input:radio').not(this).attr('checked', false)
})
虽然不确定最优雅的解决方案,但也可以随意评论(而不是回答)这个片段!
EDIT3:我通过为字段提供三个不同的名称解决了这个问题,然后将发布的数据合并到一个数组中,然后序列化并保存在数据库中。
<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 => '',
)
EDIT4:我使用 javascript 修补了问题,该 javascript 为修改列表的每个操作(排序、添加、删除元素)上的单选按钮分配了一个增量数值。虽然不是很干净。