1. ホーム
  2. jquery

jQuery: 選択されたラジオボタンの親トラックを取得する

2023-10-28 03:23:08

質問

以下のようなHTMLがあります。

<table id="MwDataList" class="data" width="100%" cellspacing="10px">
    ....

    <td class="centerText" style="height: 56px;">
        <input id="selectRadioButton" type="radio" name="selectRadioGroup">
    </td>

    ....
</table>

言い換えれば、私はいくつかの行を持つテーブルを持って、それぞれの行の最後のセルに私はラジオボタンを持っています。

どのように私は得ることができます 行を取得することができます選択したラジオボタン?

私が試したこと。

function getSelectedRowGuid() {
    var row = $("#MwDataList > input:radio[@name=selectRadioGroup]:checked :parent tr");
    var guid = GetRowGuid(row);
    return guid;
}

しかし、このセレクタは間違っているようです。

どのように解決するのですか?

これを試してみてください。

属性名の前に @ を付ける必要はありません。使用方法 closest() メソッドを使用して、セレクタに一致する最も近い親要素を取得します。

$("#MwDataList input[name=selectRadioGroup]:checked").closest('tr');

このようにメソッドを単純化することができます。

function getSelectedRowGuid() {
    return GetRowGuid(
      $("#MwDataList > input:radio[@name=selectRadioGroup]:checked :parent tr"));
}

closest() - セレクタにマッチする最初の要素を取得し、現在の要素から始まってDOMツリーを上へ進んでいきます。

余談ですが、要素のidはページ上で一意であるべきなので、あなたのマークアップに見られるように、ラジオボタンに同じidを持つことは避けるようにしてください。もし、idを使用しないのであれば、マークアップから削除してください。