我有一个由php生成的HTML表单,其中包含凭证提供商的下拉列表。
我想选择提供商并填写表格进行编辑。
这是我的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]);
});
});
voucherproviders没有被传递到JQuery,尽管echo json_encode($voucher_providers);
代码在与php代码内联时工作。
似乎返回一个空数组。任何人都可以看到有什么问题吗?
非常感谢
戴夫
答案 0 :(得分:1)
var voucher_providers = <?php echo json_encode($voucher_providers); ?>;
json_encode返回一个字符串,除非它被解析,否则它将无法使用。使用JQuery .parseJSON,你应该有更好的结果。 :)
var jsonString = <?php echo json_encode($voucher_providers); ?>;
var voucher_providers = $.parseJSON(jsonString);
答案 1 :(得分:1)
试试这个(注意引号):
var voucher_providers = JSON.parse('<?php echo json_encode($voucher_providers); ?>');
答案 2 :(得分:0)
解析你的json ex:obj = JSON.parse(data);
答案 3 :(得分:0)
您好请检查以下网站的json格式: -
http://jsonlint.com/
并检查这是否正常。