Jquery将文本附加到不同的文本区域不起作用

时间:2014-07-08 14:51:19

标签: jquery textarea

我有两个textarea。当我点击它应该附加到文本区域。请查看JSFIDDLE代码。

当我点击#one时,#two只会附加到第一个textarea。和#three,#four仅用于第二个textarea。但我的代码附加到textareas。

     <form accept-charset="UTF-8" action="/home/index" method="post">  


          <div class="hashtag">#one</div>
        <div class="hashtag">#two</div>
  <textarea id="text-box"></textarea>
 <input type="submit" value ="ok" id="go" />


        <div class="hashtag">#three</div>
        <div class="hashtag">#four</div>
        <textarea id="text-box1"></textarea>
        <input type="submit" value ="ok" id="go" />


        </form>

JQUERY CODE

$(document).ready(function(){

  $(".hashtag").click(function(){
    var txt = $.trim($(this).text());
    var box = $("#text-box");
    var box1 = $("#text-box1");

    box.val(box.val() + txt);
    box1.val(box1.val() + txt);
  });
});

我的代码会将文字附加到两个文本框中。

 [http://jsfiddle.net/Hhptn/483/][1]

3 个答案:

答案 0 :(得分:1)

您可以使用数据属性为主题标签指定目的地:

<div class="hashtag" data-dest="text-box">#one</div>
<div class="hashtag" data-dest="text-box">#two</div>
<div class="hashtag" data-dest="text-box1">#three</div>
<div class="hashtag" data-dest="text-box1">#four</div>

并在js:

$(document).ready(function(){
    $(".hashtag").click(function(){
        var txt = $.trim($(this).text());
        var dest = '#' + $(this).data('dest');

        $(dest).val($(dest).val() + txt);
    });
});

http://jsfiddle.net/Hhptn/485/

答案 1 :(得分:0)

你附加两个方框,你可以提出一个条件。

  $(document).ready(function(){

  $(".hashtag").click(function(){
    var txt = $.trim($(this).text());
    var box = $("#text-box");
    var box1 = $("#text-box1");

   if(txt == '#one' || txt == '#two')  
        box.val(box.val() + txt); 

   if(txt == '#three' || txt == '#four')  
      box1.val(box1.val() + txt);
  });
});

希望这有帮助。

干杯!!

答案 2 :(得分:0)

试试这个,Demo

$(".hashtag").click(function(){
    var txt = $.trim($(this).text());
    var box = $("#text-box");
    var box1 = $("#text-box1");
   if(txt == '#one' || txt == '#two')   { box.val(box.val() + txt); } 
   if(txt == '#three' || txt == '#four') { box1.val(box1.val() + txt);} 
});