2016-09-14 9 views
1

ここは私のコードですが、うまく動いていますが、テキストエリアからいくつかの文字を削除すると作業が停止します!!! append変更入力テキストのテキストエリアにデータを挿入

$(function() { 
 
    $('#inputnumserie').keyup(function() { 
 
    var numserie = $(this).val(); 
 
    $('#test2').append($('#inputnumserie').val()) 
 
    $('#inputnumserie').val(''); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" name="inputnumserie" id="inputnumserie" style="text-align:right;" size="14"> 
 
<textarea id="test2"></textarea>

+1

私は本当にあなたの質問を得ることはありません。出力例を提供できますか? – Beginner

+0

@NewbeeDevスニペットを確認する---入力時に書き込み、その後一部をテキストエリアから削除する/入力時に再度書き込む – DaniP

+0

こちらをご覧くださいhttp://jsfiddle.net/pedrocordeiro/nQErc/704/ –

答えて

0

あなたは自分の問題が発生したときにテキストが表示されませんが、それはまだDOMに挿入されます、テキストエリア内のノードを挿入し、バギーのアプローチのように思えるしている - チェックインスペクタツールで---。

this answerに基づく解決策は、追加ノードの代わりにテキストエリアのval()を更新することができます。

$(function() { 
 
    $('#inputnumserie').keyup(function() { 
 
    var numserie = $(this).val(); 
 
    $('#test2').val(function(i,text) { 
 
     return text + numserie; 
 
    }); 
 
    $('#inputnumserie').val(''); 
 
    }); 
 
});
textarea { 
 
    display:block; 
 
    width:80%; 
 
    height:150px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" name="inputnumserie" id="inputnumserie" style="text-align:right;" size="14"> 
 
<textarea id="test2"></textarea>

0

これを試してみてください:

$(document).ready(function(){ 

    $('#inputnumserie').on("input",function(){ 

     var txt = $("#test2").val() + $(this).val(); 
     $("#test2").val(txt); 

     $(this).val(""); 

    }) 


}) 

決勝コード:

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
</head> 
 
    <body> 
 
     
 
     <input type="text" name="inputnumserie" id="inputnumserie" style="text-align:right;" size="14"> 
 
<textarea id="test2"></textarea> 
 
     
 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
     <script> 
 
      
 
      
 
    $(document).ready(function(){ 
 

 
     $('#inputnumserie').on("input",function(){ 
 

 
      var txt = $("#test2").val() + $(this).val(); 
 
      $("#test2").val(txt); 
 

 
      $(this).val(""); 
 

 
     }) 
 

 

 
    }) 
 
     
 
     </script> 
 
    </body> 
 
</html>

+0

ありがとうございます!これは私が駄目です! –

関連する問題