2010-02-25 104 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

相关问题