【发布时间】:2013-04-02 19:52:32
【问题描述】:
请帮助我处理此代码或使用 jquery 在 input type="text" 和 textarea 之间切换的其他工作代码。
$(function(){
$("a#change").toggle(function(){
var input = document.getElementById('text'),
textarea = document.createElement('textarea');
textarea.id = input.id;
textarea.cols = 40;
textarea.rows = 5;
textarea.value = input.value;
input.parentNode.replaceChild(textarea,input);
return false;
},function(){
textarea.parentNode.replaceChild(input,textarea);
return false;
});
});
<input type="text" name="text" id="text" /><a href="#" id="change">change</a>
【问题讨论】:
-
你能给我们看看 HTML 吗?您可能需要检测
textarea所在的节点编号,然后用input字段替换该节点索引。它们是不同类型的元素,因此您需要捕获要传输的数据,然后用新元素重写元素位置。 -
您的第二个函数正在尝试访问未定义的
textarea变量。 -
您使用的是什么版本的 jQuery?以这种方式使用
.toggle()不再有效(1.8 版本已弃用,1.9 版本已删除)。
标签: jquery html text input textarea