jquery auto-complete中的文本字段锁定 - 仅允许在自动完成选项中提交

时间:2011-10-11 14:40:06

标签: jquery ajax jquery-ui jquery-plugins jquery-ui-autocomplete

Hei,我正在我的代码中寻找帮助,只允许在指定的数据数组中进行自动填充。因此,只允许输入自动完成数组中的数据。例如,如果用户键入了iran01,则用户不允许输入01,因为iran01无效。或者例如,如果用户在iran之后键入NNN,那么它将是iranNNN,这也是无效的。然后只有伊朗在文本框中是有效的进入。任何人都可以告诉你如何做到这一点。

任何人都可以告诉你如何获得这种行为。

$(document).ready(function () {
                     data = ["iran", "iraq", "Libya", "india"];
                    $("#autocomplete").autocomplete(data)
               });

               $('input#autocomplete').bind('keypress keyup', function(){

                 if ($.inArray($(this).val(), data) == -1){
                    $(this).val('');
                    $("#result").html("No match found!" + $(this).val());
              }

           });

            $('input#autocomplete').result(function (event, data, formatted) {
                $("#result").html(!data ? "No match found!" : "Selected: " + formatted);

            }).keyup(function () {
                $(this).search();

            });

         } 
    });

1 个答案:

答案 0 :(得分:0)

您可以在输入框的change事件中放置一个侦听器,然后确保已选择一个元素。看看我对这个问题的回答:

jquery autocomplete field that REQUIRES a selected value?

http://jsfiddle.net/vZeHr/4/