jQuery无法访问表

时间:2015-07-02 08:06:02

标签: javascript jquery

我试图从动态加载的HTML中更改输入字段值。但是,我似乎找不到合适的代码。

以下是我正在使用的代码:

$.get('/js/dynamic/locations', function(newRow) {
    var existing_elem = $('.edit-table tr:last').after(newRow); 
    var appendedRow = $('table tr:last-of-type');
    appendedRow.find('td[data-th="Name"] > span').text(v.location_name);
    appendedRow.find('td[data-th="Name"] > input').val(v.location_name);
});

范围文本正在正确更新,但输入值根本没有更新。

这是newRow的值:

<tr>
  <td data-th="Name">
    <span class="edit-input-text"></span>
    <input class="inp input-edit" type="text" name="location_name" value="">
  </td>
  <td data-th="Address"><span class="edit-input-text"></span>
    <input class="inp input-edit" type="text" name="address" value="">
  </td>
</tr>

1 个答案:

答案 0 :(得分:1)

根据您的HTML结构和代码,我可以告诉确定它很好并且输入值确实已更新。

您混淆的原因在于属性和属性之间的区别。他们不一样。你如何测试输入值是否已经改变?

  

因为我在Firebug中查看源代码。跨度得到更新,但输入值没有。

您需要了解,因为您使用val方法更新输入 - 您正在设置输入值属性,而不是属性。除非您使用setAttribute方法(jQuery中为attr)直接更新属性,否则属性不会更改。