2012-09-23 144 views
1

我從服務器到客戶端只有純數字ID,如何動態地將它添加到html隱藏字段,以便看起來像數組或JSON格式(我的意思是:["32","33","34"]),以便在下一步我可以在serwer上接收並解析?隱藏字段僅在開始時包含空白括號[]如何將新數字動態格式化並添加到隱藏字段?

我目前的代碼覆蓋隱藏字段從[]到例如"32"

$("#myHiddenField").val(JSON.stringify(data.result[0].newid)); 

回答

2

您可以使用$.parseJSON()反序列化從隱藏的輸入值,push()新項目的數組,然後序列化再次數組:

var $hiddenField = $("#myHiddenField"); 
var results = $.parseJSON($hiddenField.val()); 
results.push(data.result[0].newid); 
$hiddenField.val(JSON.stringify(results)); 

但是,它可能是更有效地保持添加項目時跟蹤數組,並且僅在提交表單時(例如在submit事件處理程序中)將其序列化。

1

爲了避免解析在隱藏字段中的數據,你可以保持一個實際的陣列,推動新的ID給它,連載它放在隱藏字段:

var myArray = []; 

myArray.push(data.result[0].newid); 
$("#myHiddenField").val(JSON.stringify(myArray)); 

注意:一組數字的JSON形式將是[32,33,34]而不是["32","33","34"],這也是您從上面的代碼中獲得的。如果您想要使用字符串而不是數字的格式,請在添加數值之前添加.toString()

myArray.push(data.result[0].newid.toString()); 
相關問題