【问题标题】:jQuery UI autocomplete not send hidden input new value to script_urljQuery UI 自动完成不会将隐藏的输入新值发送到 script_url
【发布时间】:2012-12-16 08:27:55
【问题描述】:

使用 jQuery UI 自动完成为隐藏输入设置值后

$( "#PName" ).autocomplete({            
            search: function(event, ui) {
             $("#PLoading").show();
            },
            source: "Script_URL",
            minLength: 2,            
            select: function( event, ui ) {
                $("#PLoading").hide();
                $("#PName").val(ui.item.value);
                $("#PID").val(ui.item.id);
            }
        });

<input type="hidden" id="PID" name="PID" value="0" />

对于从隐藏输入发送新值到具有自动完成功能的其他 url,发送 0 值

0 值是隐藏输入默认值,(为了测试,我将默认值更改为 90,但再次发送默认值(90))

 $("#CName").autocomplete({    
        search: function(event, ui) {
         $("#CLoading").show();
    alert ($("#PID").val()); // it's worked, and alert new value , from hidden input
        },
        source: "Script_URL/"+$("#PID").val(),  /// but it's not worked ,  does not send new value from hidden input 
        minLength: 2,            
        select: function( event, ui ) {
            $("#CLoading").hide();
            $( "#CName" ).val(ui.item.value);
            $( "#CID" ).val(ui.item.id);

        }
    });

【问题讨论】:

    标签: jquery jquery-ui autocomplete jquery-autocomplete jquery-ui-autocomplete


    【解决方案1】:

    当小部件初始化时,您的代码只会读取一次隐藏输入的值。如果您想每次都更新源 URL,则必须为 source 参数提供一个函数并自己发出 AJAX 请求:

    $( "#PName" ).autocomplete({            
        search: function(event, ui) {
            $("#PLoading").show();
        },
        source: function () {
            $.ajax({
                url: "Script_URL/" + $("#PID").val(),
                data: request,
                dataType: "json",
                success: function (data) {
                    response(data);
                },
                error: function () {
                    response([]);
                }
            });
        },
        minLength: 2,            
        select: function( event, ui ) {
            $("#PLoading").hide();
            $("#PName").val(ui.item.value);
            $("#PID").val(ui.item.id);
        }
    });
    

    【讨论】:

    • @SilverGold:没问题!如果有帮助,请“接受”答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多