我有以下代码,其中有一个下拉列表(带有 class="addToList",后跟一个按钮(Class="addtoButton"):
当我单击按钮时,我想从上一个下拉列表中获取当前选定的值和文本。
$(".addToPortalButton").live('click', function (e) {
// grab the previous dropdown list value and text here.
});
使用 jquery 执行此操作的最简单方法是什么。
这是 html:
<select class="addToList" id="Teams" name="Teams">
<option></option>
<option value="49">Team 1</option>
<option value="22">Team 2</option>
</select>
<input type='button' class="addToButton" value='Add to' />
<select class="addToList" id="Teams" name="Teams">
<option></option>
<option value="49">Team 1</option>
<option value="22">Team 2</option>
</select>
<input type='button' class="addToButton" value='Add to' />
<select class="addToList" id="Teams" name="Teams">
<option></option>
<option value="49">Team 1</option>
<option value="22">Team 2</option>
</select>
<input type='button' class="addToButton" value='Add to' />
最佳答案
您可以使用 .prev()
或 .prevAll()
获取 <select>
之前是这样的:
编辑:对于较新版本的 jQuery,其中 .live()
已弃用,新的 .on()
语法是:
$(document).on('click', '.addToButton', function (e) {
var sel = $(this).prevAll('.addToList:first'),
val = sel.val(),
text = sel.find(':selected').text();
});
旧版本:
$(".addToButton").live('click', function (e) {
var sel = $(this).prevAll(".addToList:first"),
val = sel.val(),
text = sel.find(':selected').text();
});
关于jquery - 获取上一个选择的下拉项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4041927/