Jquery ui JQuery UI Multiselect如何获取所选选项值
在MichaelAufreiter的jQueryUI小部件中搜索如何获取所选选项值时浪费了我的一天。以下是他的演示站点和github的链接: 因此,我只需要所选选项的值字段,而不需要将POST/GET发送到PHP脚本。 我尝试了许多方法,但没有结果。 需要你的帮助和想法吗Jquery ui JQuery UI Multiselect如何获取所选选项值,jquery-ui,multi-select,Jquery Ui,Multi Select,在MichaelAufreiter的jQueryUI小部件中搜索如何获取所选选项值时浪费了我的一天。以下是他的演示站点和github的链接: 因此,我只需要所选选项的值字段,而不需要将POST/GET发送到PHP脚本。 我尝试了许多方法,但没有结果。 需要你的帮助和想法吗 *找到了许多关于jquery ui multiselect的主题,但由于Aufreiter:s*我访问了上面列出的站点,并能够在我的chrome控制台中运行此主题: $('.ui-multiselect .selected l
*找到了许多关于jquery ui multiselect的主题,但由于Aufreiter:s*我访问了上面列出的站点,并能够在我的chrome控制台中运行此主题:
$('.ui-multiselect .selected li').each(function(idx,el){ console.log(el.title); });
您想要的值似乎存储在div.selected元素中列表项的title属性中
编辑:
啊!当然,你想要的是价值观。对不起,伙计。完全没有注意到这一点。真正的货物储存在物品中。在这种情况下,您需要的密钥是“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());
}
});
$('.ui multiselect.selected li')。每个(函数(idx,el){
控制台日志(el);
var link=$(el).data('optionLink');
//链接现在指向jQuery包装的标记
//我先在link上做了一个测试,不知道为什么,但其中一个没有定义。
//但是,我得到了所有四个值。所以我不确定第一个
//是的,我想是头球。。。
如果(链接){
//这是您的值。将其添加到数组中,或者您需要执行的任何操作。
console.log(link.val());
}
});
这是我第一次看到多选。它很光滑。但我很同情你在想办法解决问题时的挫折感。“getSelectedOptions()”方法会很好
干杯,应该有用。测试与铬控制台
$("#countries").val();
尝试访问关闭事件上的选定值 e、 g。 希望有帮助。最佳解决方案
$('#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(","));
}
});
您可以尝试以下方法:
$('#ListBoxId').multiselect({
isOpen: true,
keepOpen: true,
filter: true
});
我需要的是字段的值,而不是它的名称(这实际上就是标题)。有名称,但没有值。我不能用文本搜索字段的值,因为我在multiselect小部件中输入的数据正在从社交网络中取出,保存1k个体量,然后发布它们,然后按名称搜索值,然后将结果提供给用户:s仍然需要您的帮助,maestro,谢谢发布:)好的。编辑帖子并添加代码以获取值。祝你好运精彩的!让我吻你lol:))非常感谢你,我的例子非常好。别忘了“接受”我的答案!我正在努力建立我的观点。:)哦,是的,没有注意到这个func:)别忘了在选择标记中添加multiple=“multiple”
$('#ListBoxId').multiselect({
isOpen: true,
keepOpen: true,
filter: true
});