2013-10-13 49 views
0

嗯,我不認爲我使用適當的術語,但我會嘗試解釋相同的。 我們有一個使用遠程處理來自服務器的數據。現在我們使用JSViews將更新按鈕綁定到可編輯的窗體上。一旦按下該按鈕,數據需要被髮送回服務器。刪除由JsViews添加的額外屬性

我們能夠成功地將數據綁定,但是當我們正在記錄數據,我們看到在陣,並在每件額外的屬性「jQuery19105520686232484877」。

{Name: "Cheese Production Facility", RecordTypeId: "012i0000000C1lHAAS", Id: "a01i00000057WQMAA2", Number_of_Sites__c: 0, jQuery19105520686232484877: Object} 

有沒有一種方法,我們可以從最初的數組中刪除「jQuery19105520686232484877」屬性?

模板中使用

<li data-role="fieldcontain"> 
    <label for="propertyName">Name:</label> 
    <input type="text" name="propertyName" data-link="Name" id="propertyName" value="" data-clear-btn="true"/> 
</li> 
<li data-role="fieldcontain"> 
    <label for="dist">Dist:</label> 
    <input type="text" name="dist" id="dist" data-link="Total_Number_of_Acres__c" value="" data-clear-btn="true"/> 
</li> 

JS代碼

var propInfoObject = { 
    Name: "Cheese Production Facility", 
    RecordTypeId: "012i0000000C1lHAAS", 
    Id: "a01i00000057WQMAA2", 
    Number_of_Sites__c: 0 
}; 
$.templates("#editPropertyTemplate").link("#editPropertyContent",propInfoObject); 

回答

2

這額外的屬性是:如果你將事件附加到一個數組,被添加了jQuery expando屬性:

$([myArray]).on("myevent" ...) 

JsViews附加了一個arrayChange事件處理程序 - 這就是爲什麼你看到額外的屬性。

但是,jQuery屬性是一個具有特殊屬性toJSON: function() {}的對象。

該函數沒有任何返回的事實告訴JSON.stringify()忽略該屬性 - 在序列化期間跳過它。

所以如果你使用JSON.stringify序列化數據並將其發送到服務器,該屬性應該不會出現在所有...

+0

@ Avidev9:你能確認這是否爲你工作,如果是這樣, '接受'答案?謝謝... – BorisMoore

+0

感謝BorisMoore! – Avidev9

相關問題