使用ajax和php更改多个下拉列表

时间:2012-05-25 20:41:53

标签: php ajax drop-down-menu

我有一个关于AJAX和PHP的问题,我有一个主下拉列表,当用户更改它时,其他下拉应该根据主下拉值更改,更清楚我有一个快速我正在研究的网站的查找器部分,有一个拾取端口(主下拉列表),当用户更改此拾取端口时,还有另外4个应该使用AJAX和PHP更改的下拉菜单,任何人都知道如何创建它,我已经做了3天了,但没有成功。

提前致谢。

我试过这个

function filter(id) {
    if(window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById('type_filter').innerHTML = xmlhttp.responseText;
            document.getElementById('find-trip-dest-region').innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open('GET', 'forms/type_filter.php?id=' + id, true);
    xmlhttp.send();
    xmlhttp.open('GET', 'forms/activity_filter.php?id=' + id, true);
    xmlhttp.send();
}

还有这个

function filter(id) {
    if(window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById('type_filter').innerHTML = type_filter.responseText;
            document.getElementById('find-trip-dest-region').innerHTML = activity_filter.responseText;
        }
    }
    var type_filter = xmlhttp.open('GET', 'forms/type_filter.php?id=' + id, true);
    xmlhttp.send();
    var activity_filter = xmlhttp.open('GET', 'forms/activity_filter.php?id=' + id, true);
    xmlhttp.send();
}

并尝试了这个

function filter(id) {
    if(window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById('type_filter').innerHTML = type_filter.xmlhttp.responseText;
            document.getElementById('find-trip-dest-region').innerHTML = activit_filter.xmlhttp.responseText;
        }
    }
    var type_filter = xmlhttp.open('GET', 'forms/type_filter.php?id=' + id, true);
    xmlhttp.send();
    var activit_filter = xmlhttp.open('GET', 'forms/activity_filter.php?id=' + id, true);
    xmlhttp.send();
}

1 个答案:

答案 0 :(得分:0)

我已经设法使用像这样的jquery来解决它

$(document).ready(function() {
    $('#pickup_port').change(function() {
        var id = $('#pickup_port').val();
        if(id != "") {
            $.get('forms/type_filter.php?id='+ id, function(data) {
                $('#type_filter').html(data);
            });
            $.get('forms/activity_filter.php?id='+ id, function(data) {
                $('#activity_filter').html(data);
            });

        }
    });
});

但是有没有人有更好的解决方案,或者这是唯一的解决方案