我有一个表单表单,当帐户状态处于活动状态时,表单中有输入/选择字段,在此状态下,您可以添加/编辑用户信息,在另一个状态下,我会使用相同的视图但是替换输入和选择带有段落标记<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()方法。但是我会传递什么?
答案 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> Type of data 00</p>
<p><input id="i01" type="text" size="20" maxlength="30" value="data01" /><span id="s01">data01,</span> Type of data 01</p>
<p><input id="i02" type="text" size="20" maxlength="30" value="data02" /><span id="s02">data02,</span> Type of data 02</p>
<p><input id="i03" type="text" size="20" maxlength="30" value="data03" /><span id="s03">data03,</span> Type of data 03</p>
</body>
</html>
该inpdisp()
功能仅限于&#34;显示&#34;这里。您将在此页面的版本中删除该按钮并使用其他一些条件调用该函数。您可能不希望修改f
函数中的inpdisp()
变量,但在其他地方执行此操作。