複製數據這篇文章是一個與previous post跟進,在應用程序上的jQuery 1.4運行,但是從任何版本的建議表示讚賞:jQuery.clone(假)還是從原始來源
目前的問題是,即使使用
rowTemplate = j('.form-denomination:first-child').clone();
和
var newRow = rowTemplate.clone().attr('id', newRowId);
我可以看到newRow
使用Firebug仍持有從列表中的第一個孩子的舊數據,不管我選擇素t來自網頁。
例如,如果要克隆的列表中的第一個孩子是節點[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在網頁上 所以發生了什麼?
你混爲一談形式數據與jQuery'.data()'?你似乎沒有使用'.data()',但是我在另一個問題中看到了標記中的隱藏字段。 'withDataAndEvents'參數指向'.clone()'的數據是jQuery類型,而不是表單類型。 – MattW 2013-03-22 17:28:58
「'denominations [3] .id.denominationId'顯示爲空」 - 是否將「null」發送到服務器? – zeroflagL 2013-03-22 17:34:43
@MattW我應該在克隆整行後使用'.data()'?但我認爲這是用戶定義數據,在這裏似乎有一個鎖定在重複行防止用戶編輯。當用這樣的重複行提交表單時出現錯誤。 – Dreamer 2013-03-22 17:34:44