这篇文章是previous post的后续文章,该应用程序在jQuery 1.4上运行,但是可以从任何版本获得建议:

当前的问题甚至是使用

rowTemplate = j('.form-denomination:first-child').clone();




var newRow = rowTemplate.clone().attr('id', newRowId);


我可以看到newRow仍然使用Firebug从列表中将旧数据保留在第一个孩子中,无论我从网页中选择什么。

例如,如果要克隆的列表的第一个子节点是node [0]

<select id="_denominations[0].id.denominationId" class="removableDenom" name="denominations[0].id.denominationId">
    <option value="100">100</option>
    <option value="1000">1000</option>
    <option value="10000">10000</option>
    <option value="500">500</option>
    <option value="5000">5000</option>
    <option value="50000" selected="selected">50000</option>
</select>


我在node [2]之后添加了新行,看起来像

<select id="_denominations[3].id.denominationId" class="removableDenom" name="denominations[3].id.denominationId">
    <option value="100">100</option>
    <option value="1000">1000</option>
    <option value="10000">10000</option>
    <option value="500">500</option>
    <option value="5000">5000</option>
    <option value="50000" selected="selected">50000</option>
</select>


看到它仍然显示50000作为下拉框的选择,即使它在网页上显示100
发生什么了?

最佳答案

“它仍然显示50000作为下拉框的选择,即使它在网页上显示100”

您看到的是HTML源代码。 50000不是页面上显示的当前值,而是页面加载后(或者在这种情况下将显示)的值。

关于javascript - jQuery.clone(false)仍从原始源复制数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15576374/

10-10 23:34