3

各行に隠しフィールドがあるテーブルがあります。その行のボタンがクリックされたときに、隠しフィールドの値を警告する必要があります。次のjQueryコードがあります。しかし、うまくいきません。どうすれば機能しますか?

コード: http://jsfiddle.net/Lijo/xWanB/

<script>
    $(document).ready(function () {

        //"Show ID" for Associate Button Click
        $('.resultGridTable tr > td > .actionButtonNational').click(function () {
            //"this" means show ID button
            //Traversing to get the parent row and then the required columns in the row
            var associateID = $(this).parents('tr:first > .wrapperDivHidden input[type=hidden]').val();
            alert(associateID);
            return false;
        });
    });
</script>

HTML

<td>
    XXXXX
    <input type="submit" name="ctl00$detailContentPlaceholder$grdSubscribedAssociates$ctl04$btnNational"
                        value="Show ID" id="detailContentPlaceholder_grdSubscribedAssociates_btnNational_2"
                        class="actionButtonNational" style="color: White; background-color: #A7A7A6;
                        font-weight: bold; width: 60px" />
    <div id="wrapperDivHidden" class="wrapperDivHidden">
        <input type="hidden" name="ctl00$detailContentPlaceholder$grdSubscribedAssociates$ctl04$hdnAssociateID"
                            id="detailContentPlaceholder_grdSubscribedAssociates_hdnAssociateID_2"value="789345680" />
    </div>
</td>
4

4 に答える 4

18

セレクターはで始まりますがtr:first > .wrapperDivHidden ....wrapperDivHiddenの直接の子ではないtrため、セレクターを次のように変更します。

$(this).parents('tr').find('.wrapperDivHidden input[type="hidden"]').val();

フィドル: http://jsfiddle.net/xWanB/3/

于 2012-05-30T13:14:59.313 に答える
2

これを試して:

<script type="text/javascript">

    $(document).ready(function () {
        //"Show ID" for Associate Button Click
        $('.actionButtonNational').click(function () {
            var associateID = $('input[type=hidden]', $(this).closest("td")).val();
            alert(associateID);
            return false;
        });
    });
</script>
于 2012-05-30T13:18:59.073 に答える
0

行の最初の列が非表示の場合は、この var x = $('input[type=hidden]', $(this).find("td:first")).val(); を使用します。

于 2014-12-01T17:46:45.773 に答える
0

これは、あなたがやろうとしていることの非常に単純化された例です:

http://jsfiddle.net/6S5rD/

于 2012-05-30T13:25:32.523 に答える