Вставить textarea в input
Подскажите, не получается при клике на кнопку вставить данные из textarea в input
Делаю так: <table> <tr><td><textarea class="textar" type="text" value="">1</textarea></td></tr> <tr><td><textarea class="textar" type="text" value="">2</textarea></td></tr> <tr><td><textarea class="textar" type="text" value="">3</textarea></td></tr> <tr><td><input type="button" class="textar1" value="GO"></td></tr> </table> <table> <tr><td><input id="id1" type="text" value=""></td></tr> <tr><td><input id="id2" type="text" value=""></td></tr> <tr><td><input id="id3" type="text" value=""></td></tr> </table> <script> $(".textar1").click(function() { var id1=$( this ).prev(".textar").val(); var id2=$( this ).prev(".textar").prev(".textar").val(); var id3=$( this ).prev(".textar").prev(".textar").prev(".textar").val(); document.getElementById("id1").value=id1; document.getElementById("id2").value=id2; document.getElementById("id3").value=id3; }); </script> Помогите, что делаю не так? |
<table> <tr><td><textarea class="textar" type="text" value="" id="n1">1</textarea></td></tr> <tr><td><textarea class="textar" type="text" value="" id="n2">2</textarea></td></tr> <tr><td><textarea class="textar" type="text" value="" id="n3">3</textarea></td></tr> <tr><td><input type="button" class="textar1" value="GO" id="b1"></td></tr> </table> <table> <tr><td><input id="id1" type="text" value=""></td></tr> <tr><td><input id="id2" type="text" value=""></td></tr> <tr><td><input id="id3" type="text" value=""></td></tr> </table> <script> /*$(".textar1").click(function() { var id1=$( this ).prev(".textar").val(); var id2=$( this ).prev(".textar").prev(".textar").val(); var id3=$( this ).prev(".textar").prev(".textar").prev(".textar").val(); document.getElementById("id1").value=id1; document.getElementById("id2").value=id2; document.getElementById("id3").value=id3;*/ b1.onclick = function(){ id1.value = n1.innerHTML; id2.value = n2.innerHTML; id3.value = n3.innerHTML;} </script> |
все надо реализовать на class в textarea.
|
Это задание что-ли такое? Так неудобно же ведь. С id-шниками куда проще. Ну берите тогда класс функцией document.getElementsByClassName("textar")[0] и вставляйте вместо 0 номер своего textarea.
|
В Вашем коде, кстати, не работает функция prev(). Она выдает какой-то бред. Она видимо нацеливается на элемент <tr>, <td> или еще какой-нибудь.
|
<table> <tr><td><textarea class="textar" type="text" value="">1</textarea></td></tr> <tr><td><textarea class="textar" type="text" value="">2</textarea></td></tr> <tr><td><textarea class="textar" type="text" value="">3</textarea></td></tr> <tr><td><input type="button" class="textar1" value="GO"></td></tr> </table> <table> <tr><td><input id="id1" type="text" value=""></td></tr> <tr><td><input id="id2" type="text" value=""></td></tr> <tr><td><input id="id3" type="text" value=""></td></tr> </table> <script src="https://code.jquery.com/jquery-2.1.4.js"></script> <script> $(".textar1").click(function() { $(this).closest('table').find('.textar').each(function() { $('#id' + $(this).val()).val( $(this).val() ); }); }); </script> |
Часовой пояс GMT +3, время: 22:29. |