这篇文章是 previous post 的后续文章,该应用程序在 jQuery 1.4 上运行,但欢迎任何版本的建议:
目前的问题是偶使用
rowTemplate = j('.form-denomination:first-child').clone();
和
var newRow = rowTemplate.clone().attr('id', newRowId);
我可以看到 newRow
仍然使用 firebug 保存列表中第一个子元素中的旧数据,无论我从网页中选择什么。
例如,如果要克隆的列表的第一个子节点是节点[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>
我在节点[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 那么这是怎么回事?
最佳答案
“即使在网页上显示 100,下拉框的选择仍然显示 50000”
您看到的是 HTML 源代码。 50000 不是页面上显示的当前值,而是页面加载时(或者更确切地说在本例中)显示的值。
关于javascript - jQuery.clone(false) 仍然从原始源复制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15576374/