我有一个简单的表单,用户将文本放入各个字段,并在按钮单击时将结果汇总到textarea(#1)中。
我还添加了一个<input type=reset>
来清除表单和第一个textarea。
我想添加第二个textarea,在每次点击后按顺序“保存”第一个textarea中的项目,最好是在数字列表中。似乎很容易做到,但我只能使用javascript复制两个textareas。
我很感激任何帮助!
HTML
<input id="bl_pct" size="5" value="0" type="text"><br>
<input id="seg_pct" size="5" value="0" type="text"><br>
<input id="lym_pct" size="5" value="0" type="text"><br>
<div class="textoutput">
<form>
<input id="print" value="Click to print " type="button"><br>
<textarea id="diffOut" rows="5" cols="60"></textarea>
<input class="btn" type="reset" value="Reset the counter"><br>
</form>
</div>
JS
$('#print').on('click', function (){
// setting field variables
var blst = $('#bl_pct').val();
var seg = $('#seg_pct').val();
var lym = $('#lym_pct').val();
var Str = 'Output here: '+blst+' ; '+seg+' ; '+lym+'.';
$('#diffOut').val(Str);
});
这是一个小提琴:http://jsfiddle.net/sZYYK/
答案 0 :(得分:1)
将此添加到点击事件的结尾
$('#diffHist').val($('#diffHist').val() + Str + '\n');
将添加'diffHist'包含的内容,添加当前的Str值和换行符'\ n'。
如果你想对这些行进行编号,那么每次都要创建一个变量并将其递增,然后以类似的方式将其附加到文本中(使用+)。
如果您想要相反的行,请使用:
$('#diffHist').val(Str + '\n' + $('#diffHist').val());
使用计数器对条目进行编号:
$('#print').on('click', function (){
// setting global field variables
this.counter = this.counter || 0;
this.counter++;
var blst = $('#bl_pct').val();
var seg = $('#seg_pct').val();
var lym = $('#lym_pct').val();
var Str = 'Output here: '+blst+' ; '+seg+' ; '+lym+'.';
$('#diffOut').val(Str);
$('#diffHist').val($('#diffHist').val() + this.counter + ' ' + Str + '\n');
});
BTW这些变量不是全局变量,因此您可以编辑注释;它们是局部变量。 (counter
不是局部变量,它是附加到输入元素的属性。)