ui autocomplete验证额外的模糊事件

时间:2012-06-26 01:17:44

标签: jquery

我有自动完成工作的验证。

http://skoizumi.com/autocomplete/index.html

var ac = $( "#searchtext" ).autocomplete({
                source: "testdata.php",
                minLength: 2,
                select: function( event, ui ) {
                console.log( '3');                      
                },
                close: function( event, ui ) {
                    console.log( 'closing.' );
                }
            });


            jQuery.validator.addMethod("contractorName", function (value, element) {


                var result = false;
                var contractorName = $("#searchtext" ).val();

                //validating the specified field has a valid name

                $.ajax({
                    type: "GET",
                    url: "/autocomplete/return2.php",
                    async: false,
                    dataType: "json",
                    data: {
                        'searchtext': $( "#searchtext" ).val()
                    },
                    complete: function(test){
                        res = JSON.parse( test.responseText );
                        console.log( res );                         
                        result = res.result;
                    }
                });

                return result;
            }, "Specified Contractor doesn't exist");

我这样做是为了当你从列表中选择“European Nightjar”或输入相同的东西时,它应该验证并返回true,否则它应该显示一条错误消息,说“指定的承包商不存在。”

但是,如果文本框中包含无效数据并从列表中选择,则会返回错误,因为在从列表中进行选择之前会进行验证。

有没有办法让从列表中选择时不必进行验证?

1 个答案:

答案 0 :(得分:0)

这是来自jQuery演示站点:

     $( ".selector" ).autocomplete({
        select: function(event, ui) { ... }
          });

为select:添加一个不同的函数,当你从下拉列表中选择时选择fires, 而不只是把console.log('3');验证这里的文字