我有一些代码:
<input type="text" class="searchpersontxtbox" />
<input type="button" value="Find" class="findpersonbtn btn" disabled="disabled" />
有一个按钮点击事件:
$(document).ready(function () {
$('.findpersonbtn').click(function () {
var findpersonbutton = $(this);
var searchbox = $(this).closest('.searchpersontxtbox');
alert(show the searchbox text here);
});
});
因此,当点击按钮时,我正试图在搜索框中获取文本并将其提醒到屏幕。
需要注意的一点是,页面上可能有多个搜索框带有'searchpersontxtbox'类。
所以我想从按钮正上方的文本框中获取文本。
有人可以帮我吗?
答案 0 :(得分:3)
我认为他正在寻找相对的东西......就像这样..
$(document).ready(function(){
$('.findpersonbtn ').click(function () {
var findpersonbutton = $(this);
//do relative search here...
var searchbox = findpersonbutton.parent().find('.searchpersontxtbox');
alert(searchbox.val());
});
});
答案 1 :(得分:2)
这不是closest
的工作方式。如果没有看到其余的标记,一种方法是:
$(document).ready(function () {
$('.findpersonbtn').click(function () {
var findpersonbutton = $(this)
, searchbox = $(this).prev();
alert(searchbox.val());
});
});
您可以使用prev
将元素放在点击的.findpersonbtn
上方。
答案 2 :(得分:0)
$(function(){
$('button').click(function() {
var text = $('textarea').val();
alert(button);
}
});
这样的事情?使用jQuery搜索获取textarea值,然后将该方法应用于变量并提醒它的文本。应该工作吗?
答案 3 :(得分:0)
您可能需要查看.previousSibling()
,这应返回之前的输入。