在我的代码中动态填充选择


populating select dynamically in my code

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

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

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

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

对此:

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

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