将实际OPTION值添加到CHOSEN生成的LI中

时间:2015-02-03 15:01:07

标签: jquery jquery-ui-sortable jquery-chosen

我正在使用CHOSEN 1.3.0JQuery SORTABLE一起生成多选列表下拉列表。

用户可以选择多个元素来选择列表,最重要的是,可以对这些元素进行排序。 (我已合并JQuery SORTABLEJQuery CHOSEN

这是我可以获取该CHOSEN下拉菜单的SORTED元素的代码。

$('.chosen-choices').sortable({
    stop: function(event, ui) {
        var data = "";
        $(".chosen-choices li").each(function(i, el){
            var p = $(el).text().toLowerCase().replace(" ", "_");
            data += p + "=" + $(el).index() + ",";
        });
        console.log(data);
    }
});

但我只能按顺序获取这些已排序元素的索引,而不是这些选项的实际value

如您所知CHOSEN生成LI就是这样。

<ul class="chosen-choices ui-sortable">
    <li class="search-choice ui-sortable-handle">
        <span>Karachi</span>
        <a class="search-choice-close" data-option-array-index="0"></a>
    </li>
</ul>

确切地说,我的问题。如果我的实际选择列表中有<option value="19">Karachi</option>,我该如何要求CHOSEN生成

<li class="search-choice ui-sortable-handle" value="19">
    <span>Karachi</span>
    <a class="search-choice-close" data-option-array-index="0"></a>
</li>

对我来说有value代码

1 个答案:

答案 0 :(得分:0)

在Chosen.JS中搜索该行

return c=a("<li />",{"class":"search-choice"})

并修改为

return c=a("<li />",{"class":"search-choice", "value":b.value})