如何获取最近输入Jquery的值

发布于 2024-09-16 06:03:56 字数 739 浏览 3 评论 0原文

我的页面上有多个具有相同类别的按钮。当我单击按钮时,我想获取最近的输入框的值(请记住我的页面上有多个具有相同类的输入框和按钮)。

我有:

    $(".deletepostbutton").click(function() {

            var deleteid = $(this).closest('.deleteid').attr('value');

  });


<div class="microblogpostactions">
     <input type="text"  name="deleteid" class="deleteid" value="'.$row['id'].'" />
     <a href="Javascript:void[0]" class="deletepostbutton">Delete</a>
     </div>

<div class="microblogpostactions">
     <input type="text"  name="deleteid" class="deleteid" value="'.$row['id'].'" />
     <a href="Javascript:void[0]" class="deletepostbutton">Delete</a>
     </div>

当用户单击链接时,如何获取最近输入的值并使我的变量等于它???

I have multiple buttons on my page with the same class. When I click on a button I want to get the value of the nearest input box (remember there are multiple input boxes and buttons on my page with the same classes).

I have:

    $(".deletepostbutton").click(function() {

            var deleteid = $(this).closest('.deleteid').attr('value');

  });


<div class="microblogpostactions">
     <input type="text"  name="deleteid" class="deleteid" value="'.$row['id'].'" />
     <a href="Javascript:void[0]" class="deletepostbutton">Delete</a>
     </div>

<div class="microblogpostactions">
     <input type="text"  name="deleteid" class="deleteid" value="'.$row['id'].'" />
     <a href="Javascript:void[0]" class="deletepostbutton">Delete</a>
     </div>

How can I get the value of the nearest input and make my variable equal to it when a user clicks on the link????

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

闻呓 2024-09-23 06:03:56

如果您确定它们就在下一个,请使用 .prev()彼此。 (这应该是最快的。)

 var deleteid = $(this).prev().attr('value');

这将获取前一个元素。

如果中间可能存在另一个元素,您可以使用 .siblings()

 var deleteid = $(this).siblings('.deleteid').attr('value');

这将获得具有 deleteid 类的所有同级在同一个

中。

Use .prev() if you're sure they're right next to each other. (This should be fastest.)

 var deleteid = $(this).prev().attr('value');

This gets the previous element.

If there's a chance that there will be another element in between, you could use .siblings():

 var deleteid = $(this).siblings('.deleteid').attr('value');

This will get all siblings inside the same <div> with the deleteid class.

月依秋水 2024-09-23 06:03:56
$(this).parent().find('.deleteid').attr('value');
$(this).parent().find('.deleteid').attr('value');
自此以后,行同陌路 2024-09-23 06:03:56
$(this).parent().find('.deleteid').attr('value');

它可能(而且确实)会导致性能问题。例如:

$(this).parent().find('.deleteid').val(10);
alert($(this).parent().find('.deleteid').val());

有时它会返回 .deleteid 的先前值(不是 10)

$(this).parent().find('.deleteid').attr('value');

It may (and it does) cause problems with perfomance. For example:

$(this).parent().find('.deleteid').val(10);
alert($(this).parent().find('.deleteid').val());

Sometimes it returns the previous value of .deleteid (not 10)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文