Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui JQuery UI Multiselect如何获取所选选项值_Jquery Ui_Multi Select - Fatal编程技术网

Jquery ui JQuery UI Multiselect如何获取所选选项值

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

在MichaelAufreiter的jQueryUI小部件中搜索如何获取所选选项值时浪费了我的一天。以下是他的演示站点和github的链接:

因此,我只需要所选选项的值字段,而不需要将POST/GET发送到PHP脚本。 我尝试了许多方法,但没有结果。 需要你的帮助和想法吗


*找到了许多关于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
    });