获取多个select元素的最后选择的值

Ama*_*ara 9 jquery select

我有许多选择框已设置为接受多个值.反正我是否可以使用jQuery来获取最后选择的值?我尝试过使用以下内容:

var latest_value = $("option:selected",this).val();
Run Code Online (Sandbox Code Playgroud)

它没有任何回报.我只想要最后选择的值而不是值数组.

先感谢您

正如我所要求的那样HTML我已经将列表缩小了,因为它太长了:

<select id="style-list" name="style-list[]" class="attrs" multiple="multiple">
    <option value="7">2 Pack</option>
    <option value="10">3 Pack</option>
    <option value="12">4 Pack</option>
</select>
Run Code Online (Sandbox Code Playgroud)

然后在页面顶部我有以下内容(我有8个,但我已经展示了一些,以便您可以看到我正在使用多选小部件的多个实例:

$(document).ready(function(){

    $("#product-list").multiselect({
       selectedList: 4,
       noneSelectedText: "Product",
       minWidth: 190  
    }).multiselectfilter();

    $("#style-list").multiselect({
       selectedList: 4,
       noneSelectedText: "Style",
       minWidth: 190  
    }).multiselectfilter();


    $("#feature-list").multiselect({
       selectedList: 4,
       noneSelectedText: "Features",
       minWidth: 190  
    }).multiselectfilter();

});
Run Code Online (Sandbox Code Playgroud)

然后我在一个单独的js文件中有这个:

$(function(){

    $(".attrs").on("multiselectclick", function(event, ui){

    var latest_value = $('option', this).filter(':selected:last').val(); 
    alert (latest_value);

    var view = $("#currentview").val();
    var page = 1;

    run_ajax(view,page);

    });

})
Run Code Online (Sandbox Code Playgroud)

谢谢

Ant*_*ist 15

使用:last选择器:

var latest_value = $("option:selected:last",this).val();
Run Code Online (Sandbox Code Playgroud)

可能this在回调函数不参照上下文<select>元素本身,而是内的一个元素,所以请尝试以下操作:

var latest_value = 
$(this).closest('select').find('option').filter(':selected:last').val();
Run Code Online (Sandbox Code Playgroud)

它也可能值得调用console.log(this);回调函数,只是让你知道你实际使用的元素.


小智 5

使用最后一个函数:像这样

$("#style-list option:selected").last().val()
Run Code Online (Sandbox Code Playgroud)