因此,我只需要选择选项的值字段,而无需POST / GET发送到PHP脚本。 我尝试了很多方法并且没有结果。 需要你的帮助和想法
*找到很多关于jquery ui multiselect的主题但由于Aufreiter而无用:s *
答案 0 :(得分:15)
那应该有用。使用Chrome控制台进行测试
$("#countries").val();
答案 1 :(得分:3)
我去了上面列出的网站,并且能够在我的Chrome控制台中运行它:
$('.ui-multiselect .selected li').each(function(idx,el){ console.log(el.title); });
似乎您想要的值存储在div.selected元素中列表项的title属性中。
修改强>
卫生署!那么你当然想要价值观。不好意思,朋友。完全错过了。真货存储在jQuery data()个对象中。在这种情况下,您想要的密钥是'optionLink'。它维护对选项元素的引用。 '.selected'div中的每个列表项都使用jQuery.data()方法向其添加基础选项。
因此,您需要获取所选列表项,迭代,从数据jQuery数据存储中获取'optionLink',然后获取值。
以下代码适用于示例页面:
$('.ui-multiselect .selected li').each(function(idx,el){
console.log(el);
var link = $(el).data('optionLink');
// link now points to a jQuery wrapped <option> tag
// I do a test on link first. not sure why, but one of them was undefined.
// however, I got all four values. So I'm not sure what the first <li>
// is. I'm thinking it's the header...
if(link){
// here's your value. add it to an array, or whatever you need to do.
console.log(link.val());
}
});
这是我见过的第一个多选。它很光滑。但我同情你试图摆脱困境的挫败感。 “getSelectedOptions()”方法会很好。
干杯
答案 2 :(得分:1)
尝试在关闭事件中访问所选值。
e.g。
$("#dropdown").multiselect({
header: false,
selectedList : 1,
height: "auto",
}).multiselectfilter().bind("multiselectclose", function(event, ui) {
var value = $("#dropdown").val();
});
希望有所帮助。
答案 3 :(得分:1)
最佳解决方案
$('#select').multiselect({
selectAllValue: 'multiselect-all',
enableCaseInsensitiveFiltering: true,
enableFiltering: true,
height: "auto",
close: function() {
debugger;
var values = new Array();
$(this).multiselect("getChecked").each(function(index, item) {
values.push($(item).val());
});
$("input[id*=SelectedValues]").val(values.join(","));
}
});
答案 4 :(得分:0)
你可以试试这个:
$('#ListBoxId').multiselect({
isOpen: true,
keepOpen: true,
filter: true
});