在循环中用对象中的文本填充段落

时间:2014-10-09 10:51:49

标签: javascript jquery html twitter-bootstrap

我有一个表单表单,当帐户状态处于活动状态时,表单中有输入/选择字段,在此状态下,您可以添加/编辑用户信息,在另一个状态下,我会使用相同的视图但是替换输入和选择带有段落标记<p class="form-control-static">的字段以用于只读目的。当我使用jQuery进入编辑模式时,我正在填充该字段:

function fillFormFromObject(form, obj) {
        form.find("input, select").each(
            function (i, el) {
                console.log(el);
                $(el).val(obj[el.name]);
            }
        );
    }

现在在段落的情况下,我如何从对象中设置它的文本?在这里迷路了。我知道对于段落元素我会调用text()方法。但是我会传递什么?

1 个答案:

答案 0 :(得分:0)

这是部分答案的提案。它包含了一些所需的功能,并没有包含其他功能(可能可以通过一些实验来解决)。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8" />
  <title>test-page</title>
 <script type="text/javascript">
//<!--

var f="i";
function inpdisp()
{ var d, i, x
  for(x=0; x<4; x++)
  { if(x<10)    //HTML code is ready for up to 100 input-fields/spans
      i="0"+x;
    else
      i=x.toString();
    d=document.getElementById("i"+i);
    d.hidden = (f=="i" ? true : false);
    // d.value="new value"+i;           //uncomment when filling data from Server
    d=document.getElementById("s"+i);
    d.hidden = (f=="i" ? false : true);
    // d.innerHTML="new value"+i+",";   //uncomment when filling data from Server
  }
  f = (f=="i" ? "s" : "i");
  return;
}

 // -->
 </script>
</head>
<body onload="inpdisp();">
<input type="button" value="inputs/displays" onclick="inpdisp();" />

 <p><input id="i00" type="text" size="20" maxlength="30" value="data00" /><span id="s00">data00,</span> &nbsp; Type of data 00</p>
 <p><input id="i01" type="text" size="20" maxlength="30" value="data01" /><span id="s01">data01,</span> &nbsp; Type of data 01</p>
 <p><input id="i02" type="text" size="20" maxlength="30" value="data02" /><span id="s02">data02,</span> &nbsp; Type of data 02</p>
 <p><input id="i03" type="text" size="20" maxlength="30" value="data03" /><span id="s03">data03,</span> &nbsp; Type of data 03</p>

</body>
</html> 

inpdisp()功能仅限于&#34;显示&#34;这里。您将在此页面的版本中删除该按钮并使用其他一些条件调用该函数。您可能不希望修改f函数中的inpdisp()变量,但在其他地方执行此操作。