jQuery在表行中获取隐藏字段值

时间:2012-05-30 13:13:16

标签: javascript jquery asp.net html css

我有一个表格,每行都有一个隐藏字段。当单击该行中的按钮时,我需要提醒隐藏字段的值。我有以下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 个答案:

答案 0 :(得分:15)

您的选择器以tr:first > .wrapperDivHidden ...开头,但.wrapperDivHidden不是tr的直接子项,因此请更改您的选择器:

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

小提琴:http://jsfiddle.net/xWanB/3/

答案 1 :(得分:1)

试试这个:

<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>

答案 2 :(得分:0)

以下是您尝试执行的操作的简化示例:

http://jsfiddle.net/6S5rD/

答案 3 :(得分:0)

如果您的行的第一列被隐藏,请使用此选项 var x = $('input [type = hidden]',$(this).find(“td:first”))。val();