我的问题来自this topic。 我很难过,并且已经尝试了几个小时。 This fiddle显示在选择其中一个选项时插入文本区域的文本。
通过在textarea中键入一些单词,当我选择其他选项时,textarea的文本不会改变。没关系。但是当我删除这些单词时,整个功能都会以某种方式丢失。
如果它能帮助你理解我的意思并希望我写一个小的'测试计划',因为我绝对难过:
如何防止此行为? textarea增加的词应该一直保留。但如果没有添加,行为就不会改变。
你有个主意吗?
答案 0 :(得分:2)
html()
是设置textarea内容的错误方法。请改用val()
。
原因是textarea从其开始和结束标记之间包含的文本中获取其初始值。其当前值始终存储在其value
属性中。使用innerHTML
(这是jQuery的html()
方法所做的)更改textarea的子节点最初是有效的,但是一旦value
属性被更改(通过脚本或用户编辑textarea) content),textarea的子节点与其值之间的链接被破坏。
以下是使用val()
代替html()
的jsFiddle的更新版本:http://jsfiddle.net/J4Rkt/5/
底线:永远不要使用html()
来获取textarea的当前值。