0

我正在使用 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(); 
    }
});
4

2 回答 2

1

我在这里对您的标记的组织方式进行了有根据的猜测,但这可能有效:

$("input[name=refund_selected]").click(function() { 
        if ($("input[name=refund_selected]").attr('checked')) {
            $(this).parent().parent().next('#refund_comments').show(); 
        }
});

另外,你有多个相同的ID吗?因为上面的代码修改甚至不应该是必要的;不允许重复 ID。

于 2012-07-27T17:24:50.873 回答
0

尝试参考 THIS,因为您只想检查刚刚检查过的收音机

$("input[name=refund_selected]").click(function() { 
  if ($(this).is(':checked')) {
    $("tr#refund_comments").show(); 
  }});
});
于 2012-07-27T17:26:22.930 回答