2012-06-18 59 views
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'); 
} 
+1

如果我是一個非常糟糕的男孩,我會去你的網站看看會發生什麼,如果我'GET json-object.php?table = users&id = 1'。 – Roman

回答

2

您的代碼只是設置文本框的值,並根據PHP輸出自動選擇某些複選框。

有它的自動設置適當的項目在下拉列表,以及你需要改變這種錯誤代碼:

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

要這樣:

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

(無點檢查的類型<select>因爲它沒有)

+0

thnk你會試試這個.. –