Javascript 将数组从PHP传递到JQuery json_encode

Javascript 将数组从PHP传递到JQuery json_encode,javascript,php,jquery,Javascript,Php,Jquery,我有一个php生成的HTML表单,它有一个voucherproviders下拉列表 我想选择提供者,并将其填充到表单中进行编辑 以下是我的JQuery代码: $(document).ready(function() { $(document).on('change','#id_voucherprovider',function(){ var voucher_providers = <?php echo json_encode($voucher_providers)

我有一个php生成的HTML表单,它有一个voucherproviders下拉列表

我想选择提供者,并将其填充到表单中进行编辑

以下是我的JQuery代码:

$(document).ready(function() { 
    $(document).on('change','#id_voucherprovider',function(){
        var voucher_providers = <?php echo json_encode($voucher_providers); ?>;

        //The value I have got from the drop down is....
        var value = $('#id_voucherprovider option:selected').val();
        var vendortext = $('#id_voucherprovider option:selected').text();
        //so the voucher provider is
        alert(vendortext);

        $('.ftext input').val(vendortext);
        $("textarea#id_vendornotes").val(voucher_providers[value]);
    });
}); 
尽管echo json_encode$voucher_providers,但voucherproviders没有被传递到JQuery中;代码与php代码内联时工作

它似乎返回一个空数组。有人能看出哪里出了问题吗

非常感谢


Dave

解析json ex:obj=json.parsedata

var voucher_providers = <?php echo json_encode($voucher_providers); ?>;
返回字符串,除非对其进行分析,否则该字符串将不可用。使用JQuery,您应该会得到更好的结果:

var jsonString = <?php echo json_encode($voucher_providers); ?>;
var voucher_providers = $.parseJSON(jsonString);

您好,请在以下站点检查json格式:-

http://jsonlint.com/
看看这是否合适

试着用引号写下这张便笺:
var凭证提供者=JSON.parse

请尝试此var凭证_providers=;如果您查看源代码,是否会看到json数组?