jquery给了我未定义的元素值

时间:2014-07-23 17:35:14

标签: javascript jquery html

我有以下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>

请帮忙

2 个答案:

答案 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");

http://jsfiddle.net/2axfN/3/

答案 1 :(得分:1)

$("#txtName").val($('#' + $(elem).closest('table').attr('id')+"_cname").text());

应该解决它。

你试图在没有"#"的情况下按ID获取元素,并尝试获取val()的{​​{1}}。

我将td#更改为val()