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

チェックしたばかりのラジオだけをチェックしたいので、これを参照してみてください

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