0

ユーザーがさまざまなフィールドにテキストを入力する単純なフォームがあり、ボタンをクリックすると結果がテキストエリア (#1) にまとめられます。

<input type=reset>フォームと最初のテキストエリアをクリアするためにも追加しました。

各クリックの後、できれば数値リストで、最初のテキストエリアからアイテムを順番に「保存」する2番目のテキストエリアを追加したいと思います。簡単にできるようですが、JavaScript を使用して 2 つのテキストエリアを複製することしかできません。

これについて何か助けていただければ幸いです!

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/

4

1 に答える 1

1

これをクリックイベントの最後に追加します

$('#diffHist').val($('#diffHist').val() + Str + '\n');

現在の Str 値と改行 '\n' を追加して、'diffHist' に含まれるものに追加します。

行に番号を付けたい場合は、変数を作成して毎回インクリメントし、同様の方法で (+ を使用して) テキストに追加します。

行を逆順にしたい場合は、次を使用します。

$('#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');
 });

ところで、これらの変数はグローバルではないため、コメントを編集できます。それらはローカル変数です。(counterはローカル変数ではなく、input 要素にアタッチされたプロパティです。)

于 2013-07-21T21:11:07.910 に答える