jQuery UI自动完成功能被自动关闭了。

4

我正在使用jQuery UI实现自动完成。我的代码如下:

$(function(){

$('input[name=store]').attr('autocomplete','on');

        $( "input[name=store]" ).autocomplete({
        source: function( request, response ) {
            //alert('hello');
            $.ajax({
                url: "http://localhost/dheeps/admin/calls/callback.php",
                dataType: "jsonp",
                data: {

                    sub:"searchstore",

                    store: request.term
                },
                success: function( data ) {
                    //alert('hello');
                    response( $.map( data.data, function( item ) {
                        //alert(item);
                        return {
                            label: item.name + (item.id1 ? ", " + item.adminName1 : "") + ", " + item.id,
                            value: item.id
                        }
                    }));

                }
            });
        },
        minLength: 2,
        select: function( event, ui ) {

        },
        open: function() {
            $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
            //alert('helo');
        },
        close: function() {
            $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
        }
    });

});

在表单的HTML代码中,我发现输入元素的自动完成属性设置为关闭(off)。这是否是导致我的代码无法正常工作的原因?请指导我。


为什么要使用 #inpuut[name=store],我认为应该是 $('input[name=store]') 或者 $('#inpuut') - xkeshav
将此行中的“inpuut”拼写更正为“input”:$('#inpuut[name=store]').attr('autocomplete','on');。另外,如果您正在从本地主机获取数据,则应使用“json”而不是“jsonp”。 - Sang Suantak
我认为你不需要这行代码('#inpuut[name=store]').attr('autocomplete','on');,jQuery自动完成将完成所有事情。 - Imdad
抱歉,写错了,应该是输入。@Imdad 我加上这个是因为我观察到自动完成属性被设置为我的输入字段,其值为关闭。 - user1400532
2个回答

5

PUT BELOW

$('input[name=store]').attr('autocomplete','on');

AFTER THIS

 $( "input[name=store]" ).autocomplete({});

由于 autocomplete 属性将在初始化后添加到元素中。


4
感谢您提供这些信息。这解决了问题。 我认为很奇怪的是一个简单的测试例子完全没有问题,但当我把它放进大型项目中时,它自动禁用了。
$(function () {
    var availableTags = ["One", "Two", "Three"];

    $("#myinput").autocomplete({
        source: availableTags
    });

    $("#myinput").attr('autocomplete', 'on');
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接