单击后将标题文本动态放入文本区域

Posted

技术标签:

【中文标题】单击后将标题文本动态放入文本区域【英文标题】:Dynamiclly putting heading text into textarea after click 【发布时间】:2014-10-13 14:54:33 【问题描述】:

基本上我有一个按钮,点击后我想在选择列表中自动选择主题(它确实如此)并获取 h3 和 h5 文本并将其放入 textarea。

这是我的代码:

$('.order-button').click(function()
   var productName = $('.product-name').text();
   var productSerial = $('.product-serial').text();

   $('#msgsubject').val($(this).data('val')).trigger('change'); // choosing subject         
   $('#message').val($('#message').val()+" "+productName+" "+productSerial+" "); // putting text into textarea
)

似乎工作正常,但是当我有两个产品并且我单击第一个产品上的“订购”按钮时,它会从其中两个产品发送文本,而第二个产品上的第二个按钮什么也不做。

[编辑] 对不起 - 第二个和第一个做同样的事情。就像评论中提供的小提琴一样。

我相信我只需要添加一些东西来告诉 jquery 一个按钮单击是针对一种产品的,它应该只从该产品中获取“名称”和“序列号”,这不好吗?但我不是 jquery ninja,我找不到解决方案,这让我抓狂;/请帮忙。

【问题讨论】:

你能提供一个小提琴吗 当然jsfiddle.net/02gqLq89/18 【参考方案1】:

它发送给你是因为类名相同,而你没有指定使用哪一个。

这是更新后的小提琴:http://jsfiddle.net/02gqLq89/19/

$('.order-button').click(function()

    var productSerial =  $(this).prev('.product-serial');
    var serialtext = productSerial.text();
    var productName = $(productSerial).prev('.product-name').text();

    $('#msgsubject').val($(this).data('val')).trigger('change'); // choosing subject         
    $('#message').val($('#message').val()+" "+productName+" "+serialtext+" "); 
 )

这是新代码。如您所见,我使用它来捕获我单击的按钮,然后我使用 .prev 捕获前一个 .product-serial 并获取其文本,然后在 .product-serial 上使用另一个 .prev 捕获产品名称并获取其文本文本。

您的错误是您捕获了所有 .product-serial 和 .product-name 而不仅仅是预期的

您也可以使用 .siblings 代替 .prev

$('.order-button').click(function()
    var productSerial =  $(this).siblings('.product-serial').text();
    var productName = $(this).siblings('.product-name').text();

    $('#msgsubject').val($(this).data('val')).trigger('change'); // choosing subject         
    $('#message').val($('#message').val()+" "+productName+" "+productSerial+" "); 
)

工作小提琴:http://jsfiddle.net/02gqLq89/23/

【讨论】:

感谢您的反馈。你认为 .siblings 比 .prev 做得更好吗?就是想。干杯 是的 .siblings 也可以解决问题。我编辑了答案并将 .prev 和 .sibling 都放入了。干杯:) 太棒了!谢谢你的时间,一位爱的兄弟:)

以上是关于单击后将标题文本动态放入文本区域的主要内容,如果未能解决你的问题,请参考以下文章

尝试在单击按钮时从两个不同的文本区域复制文本

单击时在 Java 中添加类似动态文本区域的对象

单击元素并编辑内容(如文本区域)

spark文本区域高度调整为内容

单击提交按钮时将自定义文本从选择框提交到文本区域

单击按钮时在剪贴板中复制文本区域的文本