javascript - jquery html()为何无法获得input的value的值
PHP中文网
PHP中文网 2017-04-10 17:56:09
[JavaScript讨论组]

设计意图:
希望将输入好的表单内容追加到指定dom内,

<p id="itemsForm">
    <input type="text" value="123">
    <input type="text" value=""> //输入abc
</p>
$("#itemsGroup").append($("#itemsForm").html());

结果是这样的(不是我想要的):

<p id="itemsGroup">
    <input type="text" value="123">
    <input type="text" value="">
</p>

状况描述:html()并没有把用户输入的value的值带过来,本已存在的value正常copy,求解

希望是这样的:

<p id="itemsGroup">
    <input type="text" value="123">
    <input type="text" value="abc">
</p>
PHP中文网
PHP中文网

认证0级讲师

全部回复(8)
PHPz

可以使用$(selector).clone()方法,实现你想要的功能,具体自行百度

怪我咯

你应该用clone这个才是复制dom。

html是获取innerHTML这种dom中的标签属性的字符串,是完全的两个概念。

伊谢尔伦

一个例子,仅供思考:

<p id="itemsForm">
    <input type="text" value="123" id="username"> 
    <input type="text" value=""> //输入abc
</p>

————————————————————————————

$("#username").val("qwest");

用append()不行,用val,你看看api文档。

大家讲道理

val=$("#id").attr("value");
你试试

黄舟

$("").val()

怪我咯

input不是用val()么

PHP中文网

你想要添加节点,同时还要获取节点内输入的内容--input输入框的vlaue变化是动态的,也意味着你在获取节点,复制节点的时候,它的值还是保留在初始状态,解决的方法:append方法的调用应该在oninput事件后执行(如果输入框有变化的话),这样子才能保证你在拷贝节点的时候,它的值也是你在该时刻的值--不知道你懂这意思没有

怪我咯

在你使用append()之前应该有一个函数来判断,是不是text文本框中有字符输入。如果有输入的话就把他显示出来,这个应该要用一个循环来解决

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号