使用选择强制自动完成

时间:2010-04-13 13:40:35

标签: jquery .net autocomplete

我想强制选择自动完成(jquery或.net),以便用户必须总是选择一些东西。没有进入的可能性,用户只能选择。

有谁知道怎么做?

我想为此目的使用webservice,因为结果会很多,我会告诉你前几个。

我想在选择保存值

后在隐藏字段中显示文本

我想将webservice用于此目的,因为结果会很多,我会告诉你前几个

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery autocomplete小部件,因为它支持强制选择。

        var availableTags = [
            "ActionScript",
            "AppleScript"
        ];
        $("#tags").autocomplete({
            source: availableTags,
            change: function (event, ui) {
                if(!ui.item){
                    //http://api.jqueryui.com/autocomplete/#event-change -
                    // The item selected from the menu, if any. Otherwise the property is null
                    //so clear the item for force selection
                    $("#tags").val("");
                }

            }

        });

答案 1 :(得分:0)

使用jQuery UI小部件执行此操作将需要您做一些额外的工作。我建议您考虑使用带有mustMatch选项的非UI autocomplete插件。但请注意,如果用户关闭了javascript,则无法保证输入的值始终来自您的选项集。

编辑:自动完成插件的示例解析器。期望以下形式的JSON对象数组:

[ {
    "FirstName" : "john",
    "LastName" : "smith",
    "Email" : "john-smith@example.com"
  },
  ...
]

自动完成设置

$('.selector').autocomplete({
      ...
      parse: function(data) {
                var array = new Array();
                for(var i=0;i<data.length;i++)
                {
                    var datum = data[i];
                    var name = datum.FirstName + ' ' + datum.LastName;
                    var display =  name + ' (' + datum.Email + ')';
                    array[array.length] = { data: datum, value: display, result: name };
                }
                return array;
             },
      ...
})