繁体   English   中英

jQuery自动完成获取价值

[英]Jquery autocomplete get value

自动完成工作正常。 我用我的代码通过此方法放置了一个隐藏值来保存自动完成的值:

$("#cityOp").autocomplete({
        source : function(request, response) {      

        var city_value = jQuery("#cityOp").val();


        $.ajax({
            url: "city.html",

            dataType: "json", 
            data : {
                filter : city_value
            },           


            success : function(data) {

                response(jQuery.map(data.cities,function(item) {
                                    return {
                                        value : item.locationName,
                                        key : item.locationId

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

         $("#theHidden").val(ui.item.key) ;
    }

    }); 

然后我想获取此位置ID来保存location的值,因此我尝试了as:

save(){
var locationValue=$("#theHidden").val(); 
//other saving codes
}

但是我到这里locationValue是不确定的。

我如何在保存功能中获得此隐藏值? 自动完成功能在文档中准备就绪,保存功能在js中。

这个解决了

select : function(event, ui) {

        setLocationValue(ui.item.key);
    }

在js中

var locationValue;

function setLocationValue(value){
    locationValue=value;
}

在$ ajax方法的响应中,您将数据映射到仅具有两个属性(值和键)的JSON对象。

然后,在选择中,您使用的是不再存在的属性。

如果希望这些原始值仍然存在,则也应映射它们。 或者,您可以将id保存到隐藏字段中,如下所示:

$("#theHidden").val(ui.item.key);

让我知道这是否不适合您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM