这篇文章是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/