2010-02-25 142 views

回答

0

下面是使用JSON作爲數據交換格式的例子。你可以使用XML,JSON,HTML甚至通過javascript來評估。

PHP:

$searchParam = $_GET['SEARCH_PARAM']; 

//Get the matching results for the secondselect from your database 
$results = $DB->query('Select ID, NAME, GROUP from mytable where parent = ?', $searchParam); 

//If you're using a PHP 5.2 or a newer version you have the json_encode function 
print json_encode($results); 

HTML:

<select id="firstselect" onchange="myfunc();"> 
    <option value="">Select one...</option> 
    <option value="1">One option</option> 
    <option value="2">Second choice</option> 
</select> 

<select id="secondselect"></select> 

的Javascript:

function myfunc() { 
    var value = $("#firstselect").val(); 
    $.get("myjsonprovider.php", 
    {SEARCH_PARAM: value }, 
    dataType: "JSON", 
    function(data) { 
     var options = '<option value="">Select one...</option>'; 
     var optgroup = data[0].GROUP; 
     options += '<optgroup label="' + data[i].GROUP + '">'; 
     for(var i = 0; i < data.length; i++) { 
     if(optgroup != data[i].GROUP) { 
      options += '</optgroup><optgroup label="'+data[i].GROUP+'">'; 
     } 
     options += '<option value="' + records[i].ID +'">'+data[i].NAME+'</option>'; 
     } 
     options += '</optgroup>'; 
     $("#secondselect").html(options); 
    } 
); 

} 
+0

謝謝您的答覆,我有一個問題,雖然,我會怎麼格式化我的PHP文件? – Probocop 2010-02-25 16:57:54

+0

我更新了一些示例PHP代碼的示例。我還稍微修改了Javascript部分中的$ .get調用,方法是添加一個dataType:參數並刪除JSON.parse(數據)操作,因爲它是不必要的。 – 2010-02-26 14:47:33

相關問題