我有许多选择框已设置为接受多个值.反正我是否可以使用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)
| 归档时间: |
|
| 查看次数: |
17933 次 |
| 最近记录: |