使用php创建动态选择下拉列表

时间:2014-09-13 06:18:26

标签: php xml

我有两个下拉字段,一个下拉选择字段,美国的所有状态都是硬编码的。我想做的是当用户选择状态时,调用一个php函数,该函数使用api来收集该状态中每个城市的名称。

我已经拥有api并且可以访问xml数据。我不知道的是当选择状态而不必按下按钮时如何触发php功能。只需从下拉列表中选择一个州,然后在另一个下拉选择列表中显示城市,如果状态已更改,则更新城市列表以显示当前所选州的城市。

这可能只用PHP吗?或者我需要像ajax这样的东西?我从未与ajax合作。

1 个答案:

答案 0 :(得分:0)

你必须使用ajax:

var state_id = selectedValue;// selected value of the state


        $.ajax({
            type: "GET",
            url: 'city_api.php?state_id='+state_id,
            contentType: "text/xml; charset=utf-8",
            dataType: "xml",
            success: function(data) {


                var output = '';
                    output += '<option value="NA">Select</option>';

                $(data).find("root").each(function() { //assuming first tag as root

                    $(this).find("city").each(function() {// assuming cities are inside city tag something like <city id="1">New York</city>

                        var city_name = $(this).text();
                        var city_id   = $(this).attr("id");

                        output  += '<option value="'+dst_id+'">'+dst_name+'</option>';

                   });
                });

                //output += '</select>';

                $('#city_dropdown').html(output);
            },
            error: function(data) {
                $('#city_dropdown').html('failure');
            }
        });

在您希望下拉列表显示的位置

<div id="city_dropdown"></div>

没有必要成为div。你可以使用