首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jquery autocomplate解决思路

2013-12-21 
jquery autocomplate$.ajax({type: POST,url: AutoComplateHandler.ashx,success: function (data, st

jquery autocomplate


$.ajax({
                type: "POST",
                url: "AutoComplateHandler.ashx",
                success: function (data, status) {
                    if (status == "success") {
                        var source = [
                            { "Name": "Java", "Age": 22 },
                            { "Name": "C++", "Age": 232 },
                            { "Name": "PHP", "Age": 233 },
                            { "Name": "Python", "Age": 231 },
                            { "Name": "Perl", "Age": 230 },
                            { "Name": "Asp", "Age": 213 },
                            { "Name": "C++", "Age": 23 }
                            ];
                        $("#txtComplate").autocomplete({
                            source: source, //["Java","C++","PHP","Python"] 
//如何提取json Name集合
                            select: function (event, ui) {
                                alert(ui.item.value);//获取当期选择的value 如何根据当期选中Name
//属性(如:Java)的值获取相对应的Age值
                            }
                        });
                    }
                }
            });

[解决办法]
an array of objects with label and value properties: [ { label: "Choice1", value: "value1" }, ... ]

键值名称改成label和value,不支持你那种格式的数据,要不你就需要手动转换了


        var source = [
                            { "Name": "Java", "Age": 22 },
                            { "Name": "C++", "Age": 232 },
                            { "Name": "PHP", "Age": 233 },


                            { "Name": "Python", "Age": 231 },
                            { "Name": "Perl", "Age": 230 },
                            { "Name": "Asp", "Age": 213 },
                            { "Name": "C++", "Age": 23 }
                            ];
        var newsource = [];
        $(source).each(function () { newsource[newsource.length] = {label:this.Name,value:this.Age}; });
        $("#developer").autocomplete({
            source: newsource, 
            select: function (event, ui) {
                alert(ui.item.value); //获取当期选择的value 如何根据当期选中Name
                alert(ui.item.label);
                //属性(如:Java)的值获取相对应的Age值
            }
        });

热点排行