自动完成键和值对中的JSON字符串

时间:2018-08-13 13:34:17

标签: php json jquery-ui-autocomplete jsonencoder

我有一个JSON字符串,例如 我使用PHP的json_encode检索的active。 如何在自动完成选项中有一个带有Name1,Name2的输入字段,并且一旦选择 Name1 ,将 ID1 置于隐藏字段中? 我正在使用jQuery ui自动完成功能。

{"Name1":"ID1","Name2":"ID2"}

http://jsfiddle.net/mahesh1393/Aa5nK/4166/

1 个答案:

答案 0 :(得分:0)

                var source  = [ ];
                var mapping = { };
                for(var i = 0; i < NameIDJsonString.length; ++i) {
                    source.push(NameIDJsonString[i].Name);
                    mapping[NameIDJsonString[i].Name] = NameIDJsonString[i].ID;
                }
                $('#JSONName').autocomplete({
                    minLength: 1,
                    source: source,
                    select: function(event, ui) {
                        "use strict";
                        var summary=ui.item.value;
                        $("#JSONID").val(mapping[name]);
                    },
                    change: function( event, ui ) {
                        val = $(this).val();
                        exists = $.inArray(val,source);
                        if (exists<0) {
                            $(this).val("");
                            alert("Please enter a value from the list");
                        return false;
                        }
                    }
                });

我已将JSON字符串修改为

之类的每个对象
{Name:"Name1",ID:"ID1"}
{Name:"Name2",ID:"ID2"} 

,因此上述代码将有所帮助。谢谢。:)