jQuery Chosen插件:在select中自定义/格式化选项文本

时间:2012-05-24 09:45:19

标签: jquery drop-down-menu jquery-chosen

我在jquery中使用了一个插件,该插件被选中用于具有自动完成功能的选择框。 http://harvesthq.github.com/chosen/

在哪里可以格式化选择框中的选项文本?

所选插件中是否有方法可用于此?我已经阅读了文档并扫描了代码,但似乎无法找到它。

以下是我想要实现的截图。 (这是用另一个插件'selectmenu'制作的,但我想用'选择'来做同样的事情)

enter image description here

3 个答案:

答案 0 :(得分:4)

当前时间主分支机构没有这样的功能。

但是有拉动请求,这是你需要的(目前只适用于jquery):  https://github.com/harvesthq/chosen/pull/692

所以你可以从这里获得代码。  https://github.com/cjstewart88/chosen/tree/templates

答案 1 :(得分:3)

现在是另一种方法......

您可以添加在正常选择中仍然看起来不错的特殊字符,但通常不会出现在文本中。例如TITLE :: Description。然后找到::并使用它格式化。此示例专为单选而设计。对于多个,您可能只需要更改.chosen-single,或使用其他方式来选择它。

$('select[name="SELECT_NAME"]')
    .chosen({search_contains: true})
    .add('.chosen-search')
    .on('chosen:showing_dropdown keyup change', function() {
    $('.chosen-results .active-result, .chosen-single span').html(function() {
        var html = $(this).html();
        if (/ :: /.test(html)) {
            return '<strong>' + html.replace(' :: ', '</strong> <span style="font-size:70%;display:inline;font-weight: normal;">') + '</span>';
        } else {
            return html;
        }
    });
});

此示例中的结果应为<strong>Title</strong> <span style="font-size:70%;display:inline;font-weight: normal;">Description</span>

答案 2 :(得分:2)

您可以将宽度作为参数添加到所选

$("field").chosen({ width: '400px' })