我从服务器进入客户端只有纯数字ID,如何将其动态添加到html隐藏字段,使其看起来像数组或JSON格式(我的意思是:["32","33","34"]
),以便在下一步我可以收到服务和解析?隐藏字段仅包含空白括号[]
。
我当前的代码覆盖了从[]
到例如{0}的隐藏字段。 "32"
:
$("#myHiddenField").val(JSON.stringify(data.result[0].newid));
答案 0 :(得分:2)
您可以使用$.parseJSON()从隐藏的输入值反序列化数组,push()新项目,然后再次序列化数组:
var $hiddenField = $("#myHiddenField");
var results = $.parseJSON($hiddenField.val());
results.push(data.result[0].newid);
$hiddenField.val(JSON.stringify(results));
但是,在添加项目时跟踪数组可能更有效,并且仅在提交表单时将其序列化(例如,在submit事件处理程序中)。
答案 1 :(得分: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());