我有以下html
$('#div1').append("<table id='" + response + "_" + "fawad" + "' width='100%' style='border-bottom-style:inset; border-bottom-width:thin'><tr><td width='595px'>Company Name: </td><td id='" + response + "_" + "fawad" + "_cname'>" + txtName.value + "</td></tr><tr><td>From Date </td><td id='" + response + "_" + "fawad" + "_fromd'>" + txtFrom.value + "</td></tr><tr><td>To Date </td><td id='" + response + "_" + "fawad" + "_tdate'>" + txtTo.value + "</td></tr><tr><td>Position </td><td id='" + response + "_" + "fawad" + "_position'>" + txtPosition.value + "</td><td><linkbutton onclick='passp(this)'>edit</linkbutton></td></tr></table>");
我使用Jquery来访问像这样的元素值
$("#txtName").val($($(elem).closest('table').attr('id')+"_cname").val());
它在txtName值中给我未定义。
txtName是一个文本框
<asp:TextBox ID="txtName" runat="server"> </asp:TextBox>
请帮忙
答案 0 :(得分:1)
您正在尝试获取仅适用于输入元素的值(val()
)。更改为html()
-
$("#txtName").val($($(elem).closest('table').attr('id')+"_cname").html());
如果#txtName
不是输入,您还需要更改方法。加上它似乎有一些错别字。请参阅此示例:http://jsfiddle.net/2axfN/
$("#txtName").html( $('td:first').closest('table').attr('id') );
使用输入字段更新:http://jsfiddle.net/2axfN/1/
$('input[name="foo"]').val( $('td:first').closest('table').attr('id') );
将“_cname”添加到值的末尾再进行一次更新:
$("#txtName").html( $('linkbutton').closest('table').attr('id') + "_cname");
答案 1 :(得分:1)
$("#txtName").val($('#' + $(elem).closest('table').attr('id')+"_cname").text());
应该解决它。
你试图在没有"#"
的情况下按ID获取元素,并尝试获取val()
的{{1}}。
我将td
和#
更改为val()
。