jQuery如何从文本框中获取值

3
 <td class="left">
      <span class="copyTarget"><?php echo $coupon['code']; ?></span>
      <a class="copyButton">[Copy code]</a>
  </td> 

这是结果:
这是JavaScript代码:
$('.copyButton').click(function() {
  var a = $('.copyTarget').text();
   alert(a);
});

点击按钮后输出结果:

点击按钮后输出的结果

问题:当我按下按钮时,它将返回来自代码的所有值,例如,有4个值是promo10,yesss,promo111,zz12。但是我想要的是当我点击复制代码按钮时,只复制我想要的一个代码。我该怎么做?


var a = $(this).prev().text(); - Oleksandr Maliuta
3个回答

4
你可以使用.closest().siblings().prev()来定位相关的.copyTarget span元素:
$(this).closest('td').find('.copyTarget').text();
//or
$(this).siblings('.copyTarget').text();
//or
$(this).prev('.copyTarget').text();

希望这能帮助到你。

$('.copyButton').click(function() {
   console.log( $(this).siblings('.copyTarget').text() );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td class="left">
      <span class="copyTarget">Code 1</span>
      <a class="copyButton">[Copy code]</a>
    </td>
  </tr>
  <tr>
    <td class="left">
      <span class="copyTarget">Code 2</span>
      <a class="copyButton">[Copy code]</a>
    </td>
  </tr>
  <tr>
    <td class="left">
      <span class="copyTarget">Code 3</span>
      <a class="copyButton">[Copy code]</a>
    </td>
  </tr>
</table>


1
在您的点击事件中使用parents
$(this).parents("td").find("span").text();

1
你可以使用siblings来获取包含代码的元素。
$(".copyButton").on("click", function(e){
    var text = $(this).siblings(".copyTarget").text();
    alert(text);
});

抱歉 @jamesBond,但我认为没有必要重复回答。 - Zakaria Acharki

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接