是什么原因不能正常我的自动完成和慢速吗?

时间:2011-07-17 14:23:03

标签: javascript jquery-plugins jquery autocomplete

此自动填充无法正常工作。 这适用于class search_hotel但不适用于class guide_search。没有问题代码php结果它是真的但是js不正确
为什么它的运行速度慢(速度慢)? 我该怎么办? JS:

$('.auto_complete').keyup(function () {
        var specific = '.' + $(this).closest('div.auto_box').find('b').attr('class');            
        var id = '#' + this.id;
        var url = $(id).attr('alt')+ $(id).attr('id') + '/' + $(id).attr('class');                
        var dataObj = $(this).closest('form').serialize();
        $.ajax({
            type: "POST",
            url: url,
            data: dataObj,
            cache: false,
            dataType: 'json',
            success: function (data) {                
                var cl_list = '.' + $('.auto_box '+ specific +' ul').attr('class');            
              $(cl_list).show().html('');
                if(data==0){
                    //alert('nist')
                    $(cl_list).show().html('<li><b>وجود ندارد<b></li>').css('color','red');
                }else{
                    $.each(data, function(a,b){                
                        $(cl_list).append('<li><a href="" id="' + b.name + '">' + b.name + '</a></li>');                
                    });

                    $(cl_list + ' li a').click( function(e) {
                                        e.preventDefault();
                                        var ac = $(this).attr('id');                                
                                        $('<b>' + ac + '، <input type="text" name="hotel[]" value="' + ac + '" style="border: none; display: none;" /></b>').appendTo($('.auto_box' + add + ' span'));
                                        $(this).remove();
                                    return false;
                                    });
                    $('.auto_box span b').live('click', function(e) {
                                        e.preventDefault();
                                        $(this).remove();
                                    return false;
                                    });
                }
                if($('.auto_complete').val()==''){
                    $(cl_list + " li").hide().remove();
                    $(".list_name").show().html('');
                }            
                $('body').click(function(){
                        $(cl_list + " li").hide().remove();
                        $('.auto_complete').val('');
                        $(cl_list).show().html('');
                });

            },
            "error": function (x, y, z) {
                // callback to run if an error occurs
                alert("An error has occured:\n" + x + "\n" + y + "\n" + z);
            }
        });        
    });

HTML:

<div class="auto_box">
    <b class="search_hotel">
    <span></span>    
    <div class="mediumCell"><input type="text" style="border: none; float: right;" alt="<?= base_url();?>admin/" id="tour" class="auto_complete" name="search_hotel" placeholder="هتل" title="هتل" /></div>
    <ul class="list_autobox_hotel"></ul>
    </b>
</div>
<div class="auto_box">
    <b class="guide_search">
    <span></span>
    <div class="mediumCell"><input type="text" style="border: none; float: right;" alt="<?= base_url();?>admin/" id="tour" class="auto_complete" name="guide_search" placeholder="راهنما" title="ارلاین"></div>
    <ul class="list_autobox_guide"></ul>
    </b>
</div>

0 个答案:

没有答案