leo*_*ora 6 jquery button drop-down-menu
我有以下代码,其中有一个下拉列表(带有 class=" addToList ",后跟一个按钮 (Class=" addtoButton "):
当我单击按钮时,我想从上一个下拉列表中获取当前选定的值和文本。
$(".addToPortalButton").live('click', function (e) {
// grab the previous dropdown list value and text here.
});
Run Code Online (Sandbox Code Playgroud)
使用 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' />
Run Code Online (Sandbox Code Playgroud)
您可以使用.prev()或.prevAll()来获得这样的<select>before :
编辑:对于.live()已弃用的较新版本的 jQuery ,新.on()语法为:
$(document).on('click', '.addToButton', function (e) {
var sel = $(this).prevAll('.addToList:first'),
val = sel.val(),
text = sel.find(':selected').text();
});
Run Code Online (Sandbox Code Playgroud)
旧版本:
$(".addToButton").live('click', function (e) {
var sel = $(this).prevAll(".addToList:first"),
val = sel.val(),
text = sel.find(':selected').text();
});
Run Code Online (Sandbox Code Playgroud)