0

如何使用 jquery 在单击链接按钮时从 gridview 中输入文本框值,这是我的 gridview

  <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());

我可以找到文本框的第一个值,但在获取下一个文本框值时遇到问题,即来自第二个 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

您可以按如下方式使用结束选择器

 $( "[ @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 回答
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
$('#<%=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 回答