0

我是 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');
}
4

1 回答 1

2

您的代码只是设置文本框的值并根据 PHP 输出自动选择某些复选框。

要让它在下拉列表中自动设置正确的项目,您需要更改此错误代码:

if ($('select[name="'+k+'"]').is('input[type="radio')) {
    get_input_value(k,v);
} 

对此:

$('select[name="'+k+'"]').val(v);

(没有必要检查类型,<select>因为它没有)

于 2012-06-18T09:40:26.347 回答