我是json n php的新手。
使用下面的代码获取单选按钮复选框和文本框的数据与json。它工作正常,但我不知道如何以相同的方式在选择框中填充数据。
function get_input_value(name, rval) {
//console.log(name + ' && ' + rval);
var i = 0;
var chk = $('input[name="' + name + '"]');
while (i < chk.length) {
//console.log($(chk[i]));
if ($(chk[i]).val() == rval) {
//console.log('loopvalue => ' + i);
$(chk[i]).prop('checked', true);
}
i++;
}
}
function loadJson (table, id) {
$.get("json-object.php", {'table': table, 'id':id}, function (data) {
console.log(data);
$.each(data, function (k, v) {
if ($('input[name="'+k+'"]').is('input[type="text"]')) {
$('input[name="'+k+'"]').val(v);
}
if ($('select[name="'+k+'"]').is('input[type="radio')) {
get_input_value(k,v);
}
if ($('input[name="'+k+'"]').is('input[type="checkbox"]')) {
get_input_value(k,v);
}
console.log(k+' ==> '+v);
});
}, 'json');
}
答案 0 :(得分:2)
您的代码只是设置文本框的值,并根据PHP输出自动选择某些复选框。
要让它在下拉列表中自动设置正确的项目,您需要更改错误的代码:
if ($('select[name="'+k+'"]').is('input[type="radio')) {
get_input_value(k,v);
}
对此:
$('select[name="'+k+'"]').val(v);
(没有必要检查<select>
的类型,因为它没有)