1

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

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,否则它应该显示一条错误消息,指出“指定的承包商不存在”。

但是,如果您在文本框中有无效数据并从列表中选择它会返回错误,因为验证发生在从列表中选择之前。

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

4

1 回答 1

0

这是来自 jQuery 演示站点:

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

为 select: 添加一个不同的函数,当你从下拉列表中选择时,选择会触发,而不是仅仅放置 console.log('3'); 在此处验证文本

于 2012-06-26T01:35:48.953 回答