获取上一个选定的下拉项

我有以下代码,其中我有一个下拉列表(使用class =“ addToList ”,然后是一个按钮(Class =“ addtoButton ”):

当我点击按钮时,我想从上一个下拉列表中获取当前选定的值和文本。

$(".addToPortalButton").live('click', function (e) { // grab the previous dropdown list value and text here. }); 

使用jquery执行此操作的最简单方法是什么。

这是html:

   Team 1 Team 2     Team 1 Team 2     Team 1 Team 2   

您可以使用.prev().prevAll()来获取之前:

编辑:对于不推荐使用.live()更新版本的jQuery,新的.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(); }); 

您可以使用以下代码执行此操作:

 $(".addToButton").on('click', function (e) { var $el = $(this).prev().find('option:selected'); }); 

然后,您可以使用$el.val()$el.text()分别获取值和文本。