【问题标题】:JQUERY - JSON Result assign it to pre populate form fields on when select is selectedJQUERY - JSON 结果将其分配给选择选择时预填充表单字段
【发布时间】:2018-01-22 14:46:53
【问题描述】:

我有此要求表单业务以保存搜索,允许用户使用保存的搜索数据并重新运行搜索。我已将数据库中的搜索保存为 JSON 对象。问题是当用户通过使用 Select - Dropdown 选择已保存的搜索时,表单应预先填充所有使用搜索保存的选择。当我试图提醒填充函数中的键值时 - 它总是将键显示为 0 并将值显示为整个 JSON 对象。我在这里想念什么?

从数据库返回的 JSON 请求示例如下所示:{"affects":["153","503","537"],"suspect":["101","108"],"state": [],"zip_code":[],"analysis_date_max":["",""],"last_modified_date_min":["",""]}

这是我现有的代码: //问题代码开始

function populate(frm, data) {
        var obj  = $.parseJSON(data);
        //alert (data);
        //alert (frm);

        alert (obj);
        $.each(obj, function(key, value){
            alert(key + ' is ' + value);
        $('[name='+key+']', frm).val(value);

      });
}

// END OF PROBLEM CODE
    $('#search_dataselect').on('change', function()
    {
       getSearchData(this.value);

    });

    function getSearchData(search_id) {

    if (!isNaN(parseInt(search_id))) {

        $.ajax({
            type: "GET",
            url: "/index.cgi?p=json&t=SavedSearch&search_id="+search_id, 
            success: function(result){
            var data  = result;
            populate('#formSearch',data);

            },
        });
    }
            return false;
    }

【问题讨论】:

  • 搜索页面上的大部分控件都是 MULTISELCT 下拉菜单

标签: javascript php jquery json


【解决方案1】:

您的数据似乎没有被序列化。 试试这个:

success: function(result) {

var data  = JSON.stringify(result);
populate('#formSearch', data);

}

使用 JSON.stringify() 的示例

https://jsfiddle.net/3u6mrft1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多