我正在使用smarty并创建一个动态html表,每个选项都有单选按钮。当我选择一个单选按钮时,我想要一个隐藏的行(带有注释文本区域),以显示我刚刚选择的那个单选按钮。 当我运行以下代码时,它将在每个单选按钮下方显示一行,而不是我刚刚选择的那一行:
Smarty单选按钮:
<tr>
<td>
<input
type="radio"
name="refund_selected"
id="refund_selected"
value="{smartydynamictag}" />
</td>
</tr>
隐藏的评论行:
<tr id="refund_comments" style="display: none;">
<th colspan="6">Test Here</th>
</tr>
我的jQuery:
$("input[name=refund_selected]").click(function() {
if ($("input[name=refund_selected]").attr('checked')) {
$("tr#refund_comments").show();
}
});
答案 0 :(得分:1)
我在这里做了一个有根据的猜测,关于你的标记是如何组织的,但可以工作:
$("input[name=refund_selected]").click(function() {
if ($("input[name=refund_selected]").attr('checked')) {
$(this).parent().parent().next('#refund_comments').show();
}
});
另外,你有多个相同的ID吗?因为上述代码修改甚至不需要;你不能复制ID。
答案 1 :(得分:0)
尝试引用此项,因为您只想检查刚检查过的电台
$("input[name=refund_selected]").click(function() { if ($(this).is(':checked')) { $("tr#refund_comments").show(); }}); });