2014-06-05 110 views
1

選擇列表中我有一個數組填充從JSON在PHP

{ 
    "status": "OK", 
    "message": "Data Show Successful", 

"allknife": [ 
     { 
      "name": "Folder", 
      "notes": "" 
     }, 
     { 
      "name": "Folder2", 
      "notes": "" 
     } 
     } 
    ] 
} 

我當前的代碼運行正常

我當前的代碼

<script> 
$(document).ready(function() { 

    $("#person").change(function() { 
     var val = $(this).val() 
     if(val == "") return 
     $.getJSON("http://some.com/Knife/api/l.php?&returnformat=json", {"state":val}, function(res,code) { 





      $("#name").val(res.message) 
      $("#age").val(res.status) 
     }) 
    }) 

}) 
</script> 

現在我想從填充我的選擇框的值allknife數組每個數組的名稱。

<option value="folder">0</option> 
<option value="folder2">1</option> 

這裏值0和那些裝置的文件夾是第一陣列öallknife

當用戶選擇#person選擇框然後形式的其他字段填充mycurrent代碼然後當用戶選擇第二選擇框0然後填寫其他字段。

如果他們選擇文件夾,然後其他填寫從allknife o沒有陣列。 如果文件夾2那麼其他領域從allknife陣列填寫2

我的形式看起來像

<form> 
<select name="person" id="person"> 

<input type="text" name="name" id="name"><br/> 
<input type="text" name="age" id="age"><br/> 


<select id="allknife"></select> 


<input type="text" name="name" id="name"><br/> 
<input type="text" name="note" id="note"><br/> 
<input type="text" name="codskill" id="codskill"><br/> 
</form> 
+0

http://stackoverflow.com/questions/1502649/jquery-getjson-populate-select-menu-question –

回答

0

你需要循環在你返回數組。事情是這樣的:

$.getJSON("http://some.com/Knife/api/l.php?&returnformat=json", { "state": val }, function(res, code) { 
    $("#name").val(res.message); 
    $("#age").val(res.status); 
    $("#codskill").val(res.allknife[0]['name']); 

    $.each(res.allknife, function(i, item) { 
     $('<option />', { text: i, value: item.name }).appendTo('#allknife'); 
    }); 
}) 

Example fiddle

此外,您<select name="person" id="person">缺少結束標記。

+0

一個項目顯示多個時間 – user3709822

+0

你可以發佈你正在使用的代碼得到的結果。小提琴似乎工作,根據您的問題中的代碼。 –