0

ここでjqueryを使用してリンクボタンをクリックしてグリッドビューから値をテキストボックス化する方法は私のグリッドビューです

  <asp:GridView ID="gvEmployee" runat="server" AutoGenerateColumns="false" GridLines="Both">
            <Columns>
                <asp:TemplateField HeaderText="Email">
                    <ItemTemplate>
                        <asp:TextBox ID="txtEmail" runat="server" Text='<%#Eval("Emailid") %>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Name">
                    <ItemTemplate>
                        <asp:TextBox ID="txtName" runat="server" Text='<%#Eval("Name") %>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="lnkgettext" runat="server" Text="Gettextboxvalue"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

私は次のようなことを試みました

  alert($(this).parent("td").parent("tr").find("input:text").val());

テキストボックスの最初の値を見つけることができますが、次のテキストボックスの値、つまり2番目のtdからtxtNameを取得する際に問題が発生します提案してくださいjavascriptで解決策があるかどうかも提案してください

4

4 に答える 4

1

これがあなたを助けますように...

    function GVtxtAmount() {
    var GVMaintainReceiptMaster = document.getElementById('<%= GVMaintainReceiptMaster.ClientID %>');

    for (var rowId = 1; rowId < GVMaintainReceiptMaster.rows.length; rowId++) {
        var txtbx = GVMaintainReceiptMaster.rows[rowId].cells[0].children[0];
        alert(txtbx.value);
    }
    return false;
}
于 2014-04-02T12:56:31.677 に答える
0
$('#<%=lnkgettext.ClientID %>').click(function(){
    var email=$(this).parent('td').parent('tr').find('#<%=txtEmail.ClientID%>').val();        
    var name=$(this).parent('td').parent('tr').find('#<%=txtName.ClientID%>').val();
}

また

$(this).parent("td").parent("tr").each(function(){
    $(this).find('td').each(function(){
        //Do whatever you want, you can use $(this) to get value of current cell
    })
})
于 2012-11-25T14:35:15.843 に答える
0

これを試してみてください、それは完全に動作するはずです

$('a[id$=lnkgettext]').click(function(){
    var email=$(this).parent('tr').find('input[id=txtEmail]').val();        
    var name=$(this).parent('tr').find('input[id=txtName]').val();
    alert(email+" "+name);
}
于 2012-11-25T19:28:59.953 に答える
0

次のようにエンドセレクターを使用できます

 $( "[ @id *= 'txtEmail']" ).text();

選択のような要素を見つける方法についての良いリンクは次のとおりです

[http://www.bennadel.com/blog/1003-Cool-jQuery-Predicate-Selectors.htm][1]

あなたはこのように見つけるでしょう

 //first find the tr 
 var tr= $(this).parent("td").parent("tr");
 and then use like selector with.

 var Email=$(this).parent("td").parent("tr").find($( "[ @id *= 'txtEmail']" )).val();
 var Name= $(this).parent("td").parent("tr").find($( "[ @id *= 'txtName']" )).val();
于 2012-11-25T14:13:46.777 に答える