2017-02-23 72 views
1

我想連接字符串並將其顯示到我的文本框中,當我的表中的td被點擊時。jQuery將字符串連接到輸入字段

我這樣做,到目前爲止:

$(document).on("click", ".keywordClick", function() { 
      $('.txtKeywords').val($(this).attr('value')); 
     }); 

.keywordClick is td item which contains required string 

而且

.txtKeywords is the textbox which is empty initially... 

每次有人點擊字符串我想它是這樣的:

"Hello world today" => initial click; 

"is a sunny day" => second click; 

所以輸出將如下所示:

今天你好,世界是一個晴朗的日子...每個連接的字符串之間應該是一個空的空間「」< <這樣...有人可以幫我嗎?

+1

爲什麼不發佈JS和HTML作爲一個完整的文件?更容易理解你的問題,並找到答案 – Roland

回答

1

您可以使用.val()的回調函數,該回調函數具有返回要設置的值的函數。它接收集合中元素的索引位置和舊值作爲參數。您可以使用舊值與新值連接起來:

$(document).on("click", ".keywordClick", function() { 
var appendText = " " + $(this).attr('value'); 
    $('.txtKeywords').val(function(index, oldVal) { 
    return oldVal + appendText; 
    }); 
}); 
+0

這就是它,工作非常好!謝謝 !! =) –

0

 $(".keywordClick").on("click",function() { 
 
     $('.txtKeywords').val($('.txtKeywords').val()+" "+$(this).html()); 
 
    
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
<table> 
 
<tr> 
 
    <th>Data</th> 
 
    </tr> 
 
    <tr> 
 
    <td class="keywordClick">Hello world today</td> 
 
    <td class="keywordClick">is a sunny day</td> 
 
    </tr> 
 
</table> 
 
</div> 
 
<div> 
 
<input type="text" class= "txtKeywords"> 
 
</div>