Đầu tiên tạo menu chọn no1 bằng php như bạn đã đề cập ở trên. Sau đó, thêm một eventListener 'thay đổi' vào nó như:
$('#select1').change(createSelect2);
function createSelect2(){
var option = $(this).find(':selected').val(),
dataString = "option="+option;
if(option != '')
{
$.ajax({
type : 'GET',
url : 'http://www.mitilini-trans.gr/demo/test.php',
data : dataString,
dataType : 'JSON',
cache: false,
success : function(data) {
var output = '<option value="">Select Sth</option>';
$.each(data.data, function(i,s){
var newOption = s;
output += '<option value="' + newOption + '">' + newOption + '</option>';
});
$('#select2').empty().append(output);
},
error: function(){
console.log("Ajax failed");
}
});
}
else
{
console.log("You have to select at least sth");
}
}
Bây giờ menu chọn số 2 có các tùy chọn mới theo tùy chọn đã chọn 1 đã chọn.
Và tệp php:
<?php
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
if(isset($_GET['option']))
{
$option = $_GET['option'];
if($option == 1)
{
$data = array('Arsenal', 'Chelsea', 'Liverpool');
}
if($option == 2)
{
$data = array('Bayern', 'Dortmund', 'Gladbach');
}
if($option == 3)
{
$data = array('Aek', 'Panathinaikos', 'Olympiakos');
}
$reply = array('data' => $data, 'error' => false);
}
else
{
$reply = array('error' => true);
}
$json = json_encode($reply);
echo $json;
?>
Tất nhiên ở đó tôi sử dụng một số dữ liệu demo nhưng bạn có thể thực hiện truy vấn sql điền vào mảng dữ liệu $ ở đó và gửi chúng dưới dạng json với các tiêu đề phù hợp. Cuối cùng sử dụng thêm một số js cho menu chọn thứ hai:
$('#select2').change(selectSelect2);
function selectSelect2(){
var option = $(this).find(':selected').val();
if(option != '')
{
alert("You selected: "+option);
}
else
{
alert("You have to select at least sth");
}
}
Kiểm tra tại đây http://jsfiddle.net/g3Yqq/2/ một ví dụ làm việc