在JQuery UI自动完成中添加一些功能

时间:2012-10-03 06:41:33

标签: javascript html jquery-autocomplete string-split

这是我的Jquery脚本代码。

<script type="text/javascript">

        var months = ['01 - January', '02 - February', '03 - March', '04 - April', '05 - May', '06 - June', '07 - July', '08 - August', '09 - September', '10 - October', '11 - November', '12 - December'];    

$().ready(function() {

    $("#month").autocomplete(months,{minChars: 0,max: 12,autoFill: true,mustMatch: true,matchContains: false,scrollHeight: 220,
    formatItem: function(data, i, total) 
    {
            // don't show the current month in the list of values (for whatever reason)
            if ( data[0] == months[new Date().getMonth()] ) 
                return false;
            return data[0];
    }
    });


    $("#clear").click(function() {
        $(":input").unautocomplete();
    });
});
</script>

</head>
<body>
<div id="content">

    <form autocomplete="off">
        <p>
            <label>Single Month:</label>
                <input type="text" id="month" />

        </p>
        <input type="submit" value="Submit" />
    </form>
</div>
</body>

现在我正在输入一个'01'键,它只在'01 - 1月'中列出。如果我通过鼠标单击或键入Enter键选择该选项,它将显示在文本框中。但我需要在输入字段中仅显示月份代码。在列表框中,我只应显示包含月份描述的月份代码。我不想在输入框中显示月份描述。 另一个我需要显示箭头按钮来显示列表。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

this fiddle。我没有在几个月里添加。 :)但是我的想法是将包含两个数据的数组传递给自动完成小部件。自动完成小部件需要数组格式的数据源:

  • 包含label属性,value属性或两者的对象
  • 简单字符串值

添加&#39;下拉&#39;箭头,请参阅jQuery文档中的this sample。这是非常冗长的,但一旦完成,看起来非常好。