0

是否可以在 TextArea 内显示列表?

"NewList":[{"FirstName":"X","LastName":"Y","Address1":"A1","Address2":"A2","City":"C","State":"S","ZipPostalCode":"12345"}, {"FirstName":"X2","LastName":"Y2","Address1":"A2","Address2":"A3","City":"C2","State":"S2","ZipPostalCode":"12345"}]

据我了解, textarea 仅用于显示文本而不是 HTML,因此<li>无法正常工作。

基本上,我的要求是在网页上显示上述列表并允许用户编辑然后保存它。有人可以建议如何做到这一点吗?另外,form.SerializeObject 将如何与我们使用的控件一起工作?

谢谢。

4

1 回答 1

0

我建议您浏览每个元素并为每个属性添加一个<label>和一个<input>

一个编码示例:

response = [{"FirstName":"X","LastName":"Y","Address1":"A1","Address2":"A2","City":"C","State":"S","ZipPostalCode":"12345"}, {"FirstName":"X2","LastName":"Y2","Address1":"A2","Address2":"A3","City":"C2","State":"S2","ZipPostalCode":"12345"}];
form = document.getElementById('formId');
// Iterate through array items
for(var i=0; i<response.length; i++){
  // Iterate through item attributes
  var item = response[i];
  for(var prop in item){
    // create dom objects
    var label = document.createElement('label');
    var input = document.createElement('input');

    // set dom objects attrs
    input.setAttribute('type', 'text');
    input.setAttribute('name', 'field['+i+']['+prop']');
    label.setAttribute('for', 'field['+i+']['+prop']');

    // append items to form
    form.appendChild(label);
    form.appendChild(input);
  }
}

关于序列化表单,你在使用这个 jQuery 插件吗?我是这样的,您可能需要对输入名称进行一些操作才能获得有用的结果。

希望这可以帮助 :)

于 2012-11-29T18:42:21.613 回答