0

以下にこのdivがありCFGIDます。ラジオボタンを選択すると、同じ行の値を取得できるはずです。例:testDevなどのindi

<div id="updateFormDiv">
        <table class="tableForms">
            <tbody>
                <tr>
                    <th class="tableHeading"></th>
                    <th class="tableHeading">Name</th>
                    <th class="tableHeading">Host Name</th>
                    <th class="tableHeading">Description</th>
                    <th class="tableHeading">Type</th>
                    <th class="tableHeading">Last Update Time</th>
                </tr>
                <tr>
                    <td><input type="radio" name="CFGID" id="CFGID" value="11579"></input></td>
                    <td>testDev</td>
                    <td>indi</td>
                    <td>testDev</td>
                    <td>Development</td>
                    <td>Fri Apr 26 04:31:40 IST 2012</td>                           
                </tr>
            </tbody>
        </table>
    </div>

ボタンをクリックすると、これを書きました

alert($("input[name='CFGID']:checked").next().text());

しかし、それは私を空にします。各値を取得するのを手伝ってください。ありがとう

4

3 に答える 3

5

このようなことを試してください。

$(document).on('change', ':radio[name="CFGID"]', function () {
    var arOfVals = $(this).parent().nextAll().map(function () {
        return $(this).text();
    }).get();
});

arOfValues次に、次のような配列になり['testDev', 'indi', 'testDev', 'Development', 'Fri Apr 26 04:31:40 IST 2012']ます (つまり、その行の残りの列のテキスト)

<td>テキストを含む はそれ自体ではなく、入力のnext()の要素であるため、セレクターは機能しませんでした (には兄弟がありません)。inputinput

$(this)イベント ハンドラー内で を使用して、 ではなく、選択した要素を参照する方法に注意してください$("input[name='CFGID']:checked")on()また、同じイベントを複数の要素にバインドするのは適切ではないため、 を介してイベント委任を使用した方法も参照してください。

on()parent()nextAll()map()およびを読んで、get()その用途を確認してください。

于 2012-05-04T13:55:56.987 に答える
0

これを試して:

 var texts = [];

 $("input[id='createRad']:checked").siblings("td").each(function(i, v){
     texts[i] = $(this).text()        
 });
于 2012-05-04T13:57:57.027 に答える
0
$("input[name='CFGID']").on('change', function() {
    console.log($(this).parent().nextAll('td').text());
});
于 2012-05-04T14:04:02.460 に答える