如何组合这两个选择器:
$("td.listas select:last option:selected")
这不起作用!
我想要实现的目标是:
备注:
代码正常工作:
var selectprimeiro = $('td.listas select:first');
var selectsegundo = $('td.listas select:last option');
selectsegundo.prop("selected",true);
var selected = $("td.listas select:last option:selected");
selected.each(function(){
selectprimeiro.append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");
selected.remove();
});
答案 0 :(得分:4)
我想你想要
var lastSelectedOptionElement = $("td.listas select option:selected").last();
首先,您获得所有选定的选项,然后选择最后一个选项。 Gratuitous live example | source
您可能想要option:last:selected
,但这不起作用(除非恰好选择了列表中的最后一个选项),因为option
必须 :last
和 :selected
。
<强>更新强>:
重新编辑:
在这个td中,我有两个选择输入。
如果它们不是多选select
元素,那么要获取所选的option
元素:
opt = $("td.listas select:first option:selected"); // The first one
// or
opt = $("td.listas select:last option:selected"); // The last one -- this is your original selector
如果它们是多选的,请结合上述两种技术:
// The *last* selected option in the *first* select list:
opt = $("td.listas select:first option:selected").last();
// The *last* selected option in the *last* select list:
opt = $("td.listas select:last option:selected").last();
// The *first* selected option in the *first* select list:
opt = $("td.listas select:first option:selected").first();
// The *first* selected option in the *last* select list:
opt = $("td.listas select:last option:selected").first();
答案 1 :(得分:1)
您的选择器看起来正确,您可能出错的地方是获取值,您只需要在其末尾添加.val()
。
var lastSelVal = $("td.listas select:last option:selected").val();