$('select[name=\'service_id\']').bind('change', function() {
service_id = $('select[name=\'service_id\']').val();
$.ajax({
url: 'myajaxfile.php&service_id=' + service_id,
dataType : 'json',
success: function(json) {
var max_use = json.max_use;
var used = json.used;
var amount = json.amount;
$('input[name=\'max_use\']').val(max_use);
$('input[name=\'used\']').val(amount);
}
});
});
以上是我的一段代码。我想要的是将json结果中的值绑定到两个或多个未发生的文本框。 json结果类似于[{"max_use":"0","period":"30","amount":"99"}]
,这是非常正确的。在做一个警告数量时,它表示未定义。如果指出问题是什么,会有很大的帮助吗?我尝试在stackoverflow上搜索,但发现没有完美的解决方案。感谢。
答案 0 :(得分:4)
尝试
var t = JSON.parse(json);
var max_use = t[0]["max_use"];
var used = t[0]["used"];
var amount = t[0]["amount"];
答案 1 :(得分:3)
你的json是一个包含对象的数组。所以你必须改变json,或者访问像这样的对象属性:
var max_use = json[0].max_use;
var used = json[0].used;
var amount = json[0].amount;
在你的情况下适当的json看起来像那样:
{"max_use":"0","period":"30","amount":"99"}
没有[]
答案 2 :(得分:1)
结果是一个数组,你的值为0索引,所以使用如下
result = [{"max_use":"0","period":"30","amount":"99"}][0]
获取如下
result.max_user
result.period
result.amount
或
result["max_user"]
result["period"]
result["amount"]