我有一个页面,其中有多个文本框,后跟“浏览”链接,如下所示:
[textbox1]浏览
[textbox2]浏览
[textbox3]浏览
现在我想知道我推送的文本框的浏览链接。我想设置一个全局变量(如何在Javascript / JQuery中执行此操作?)并保存文本框,或者至少保存文本框的类/ id /名称,以便我知道要从浏览路由中操作哪个文本框。
我不知道文本框的id或任何内容,因为它是在运行时生成的。我所知道的是,它是浏览链接的先前兄弟。
修改 不能让它工作,这是我的jquery方法,只是为了测试它:
$(document).ready(function() {
$('#BrowseLink').click(function() {
alert($(this).prev('input[type=text]').attr('id'));
return false;
});
});
它发出警告说“未定义”......
这是我在页面上的标记:
<input id="Image" name="Image" width="5px" type="text" value=""></input> <a id="BrowseLink" href="#">Browse</a>
编辑编辑
看着我的标记我解决了它,nbsp;是一个实体,因此需要prev().prev()
答案 0 :(得分:4)
您可以使用.prevAll()方法:
someGlobal = $(this).prevAll('input[type=text]:last').attr('id');
要制作全局变量,请在“声明”/初始化时使用var
。
答案 1 :(得分:2)
// attach a click handler to all of the browse links
$('a.someClassThatAllBrowseLinksAreMarkedWith').click(function() {
var associatedTextBoxValue = $(this).prev('input[type=text]').val();
// TODO: do something with the value
return false;
});