我正在使用此代码:
jQuery.fn.update_textarea = function(test) {
$("#articles_textarea").html('');
for (i=0;i<test;++i) {
if (message[i]) { $("#articles_textarea").html('<textarea></textarea>'); }
else { message[i] = ''; $("#articles_textarea").html('<textarea></textarea>'); }
}
}
当我试图添加更多时,没有任何事情发生,但如果我添加1它的工作原理应该是..
这是“通话”代码
$("#articles_textarea").update_textarea(total);
这是总变量:
var total = parseFloat($(".testCounter").val()) + 5;
这只是为了调用一个textarea(有效的部分):
$("#articles_textarea").update_textarea(1);
当我打电话给一个盒子时,它正在工作,当我打电话给几个盒子时根本没有任何事情发生..
答案 0 :(得分:1)
尝试使用append方法。 .html()将删除以前的内容
jQuery.fn.update_textarea = function(test) {
$("#articles_textarea").html('');
for (i=0;i<test;++i) {
if (message[i]) { $("#articles_textarea").append('<textarea></textarea>'); }
else { message[i] = ''; $("#articles_textarea").append('<textarea></textarea>'); }
}
}
答案 1 :(得分:0)
为什么你使用jQuery.fn
,当你不使用它的功能,而它只适用于textarea
和articles_textarea
Id,你最好使用一个简单的功能像:
function update_textarea(test) {
$("#articles_textarea").html('');
for (var i=0;i<test;++i) {
if (!message[i]){
message[i] = '';
}
$("#articles_textarea").append('<textarea></textarea>');
}
};
向jQuery.fn
添加新函数用于创建新的jQuery插件,请查看此link以获取更多信息。
另一点是你的for循环没有使用var i
这不是一个好习惯。此外,除了message[i] = '';
部分之外,你的if语句和else都是相同的。
顺便说一下,如果你想用jQuery.fn
来做,最好这样做:
jQuery.fn.update_textarea = function(test) {
this.html('');
for (var i=0;i<test;++i) {
if (!message[i]){
message[i] = '';
}
this.append('<textarea></textarea>');
}
};