设计意图:
希望将输入好的表单内容追加到指定dom内,
//输入abc
$("#itemsGroup").append($("#itemsForm").html());
结果是这样的(不是我想要的):
状况描述:html()并没有把用户输入的value的值带过来,本已存在的value正常copy,求解
希望是这样的:
在你使用append()之前应该有一个函数来判断,是不是text文本框中有字符输入。如果有输入的话就把他显示出来,这个应该要用一个循环来解决
你想要添加节点,同时还要获取节点内输入的内容--input输入框的vlaue变化是动态的,也意味着你在获取节点,复制节点的时候,它的值还是保留在初始状态,解决的方法:append方法的调用应该在oninput事件后执行(如果输入框有变化的话),这样子才能保证你在拷贝节点的时候,它的值也是你在该时刻的值--不知道你懂这意思没有
input不是用val()么
$("").val()
val=$("#id").attr("value");
你试试
一个例子,仅供思考:
<p id="itemsForm"> <input type="text" value="123" id="username"> <input type="text" value=""> //输入abc </p>
————————————————————————————
$("#username").val("qwest");
用append()不行,用val,你看看api文档。
你应该用clone
这个才是复制dom。
而html
是获取innerHTML这种dom中的标签属性的字符串,是完全的两个概念。
可以使用$(selector).clone()方法,实现你想要的功能,具体自行百度