如何在textarea中显示输入(名称+值)?

时间:2013-04-04 13:37:38

标签: javascript jquery html

我正在处理这个项目,当同一个表单中的一个输入值发生变化时,我需要更改textarea的值。

HTML:

<form id="form" action="" method="">
<textarea readonly class="overview"></textarea>
<input type="text" class="add" name="product1" />
<input type="text" class="add" name="product2" />
<input type="text" class="add" name="product3" />
<input type="text" class="add" name="product4" />
</form>

允许客户更改input.class。 只要其中一个输入发生变化,textarea值就会发生变化。

textarea应该显示如下内容:
3 x product1
1 x product3
4 x product4

有人有个主意吗?

提前致谢,

乔尔

5 个答案:

答案 0 :(得分:1)

<textarea readonly class="overview" id="mytxtarea"></textarea>
   $("#product1").blur(function(){
   if($("#product1").val()!='')
     {
      $("#mytxtarea").val('test value');
     }
});

答案 1 :(得分:1)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>Test</title>

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $('#form .add').on('keyup', function(){
                console.log('test');
                var string1 = $('#form .product1').val() + ' x product1\n';
                var string2 = $('#form .product2').val() + ' x product2\n';
                var string3 = $('#form .product3').val() + ' x product3\n';
                var string4 = $('#form .product4').val() + ' x product4';

                $('#form textarea').val(string1 + string2 + string3 + string4);
            });
        });
    </script>
</head>
<body>
    <form id="form" action="" method="">
        <textarea readonly class="overview"></textarea>
        <input type="text" class="add product1" name="product1" />
        <input type="text" class="add product2" name="product2" />
        <input type="text" class="add product3" name="product3" />
        <input type="text" class="add product4" name="product4" />
    </form>
</body>
</html>

答案 2 :(得分:0)

$('input').keyup(function () {
    var inputedValue = $(this).val();
    var name = $(this).attr('name');
    $(".overview").text(inputedValue+name);
});

答案 3 :(得分:0)

这会做你想要的......

$("input.add").keyup(function() {
    var msg = "";
    $("input.add").each( function() {
        if( $(this).val() ) {
            msg += $(this).val() + "x " + $(this).attr("name") + "\n";
        }
    });
    $("textarea.overview").text(msg)
});

我在这里使用了您的HTML:http://jsfiddle.net/XYXpp/

答案 4 :(得分:0)

  $(".add").keyup(function () {
 var app=""
 $(".add").each(function () {
       if( $(this).val() ) {
     var value=$(this).val();
     var name=$(this).attr('name');
     app +=value+"*"+name+ "\n" ;     
       }
 });
  $(".overview").text(app);

});

观看this

希望这会给你一些解决方案。