包含后PHP中的未定义变量

时间:2016-09-14 22:18:06

标签: javascript php ajax include dropdown

我是stackoverflow的新手(至少作为会员),我有一个问题。 顺便说一句,我也是PHP的新手。

事情是: 我想动态填充第二个下拉列表,其中包含基于第一个下拉列表的条目(我想根据所选省份显示城市)。 我设法通过Javascript中的AJAX调用将所选省份转换为外部PHP文件。 但是当我在我原来的PHP文件中包含外部PHP文件时,外部文件的变量是未定义的。 在第一个下拉菜单中使用onchange事件触发AJAX调用。

也许你也可以帮助我如何使用该变量在第二个下拉列表中获取正确的内容。我已经使用了多维数组。

HTML:

echo('<select name="provincie" id="provincie"       onchange="ProvinciePHP()">');


    foreach ($provincie as $provincies){
        echo ("<option> $provincies </option>");
    }
    echo ('</select>');


echo('<select name="stad" id="stad"> </select>')

PHP ARRAY:

$provincie = array(
    'Selecteer een provincie',
    'Drenthe',
    'Flevoland',
    'Friesland',
    'Gelderland',
    'Groningen',
    'Limburg',
    'Noord-Brabant',
    'Noord-Holland',
    'Overijssel',
    'Utrecht',
    'Zeeland',
    'Zuid-Holland',
);
$stad = array(
    'Drenthe'       => array("Assen", "Emmen", "Hoogeveen", "Meppel"),
    'Flevoland'     => array("Almere", "Biddinghuizen", "Dronten", "Lelystad"),
    'Friesland'     => array("Heerenveen", "Joure", "Leeuwarden", "Sneek"),
    'Gelderland'    => array("Apeldoorn", "Arnhem", "Nijmegen", "Zutphen"),
    'Groningen'     => array("Delfzijl", "Groningen", "Stadskanaal", "Veendam"),
    'Limburg'       => array("Maastricht", "Roermond", "Sittard", "Venlo"),
    'Noord-Brabant' => array("Breda", "Den Bosch", "Eindhoven", "Tilburg"),
    'Noord-Holland' => array("Alkmaar", "Amsterdam", "Haarlem", "Hilversum"),
    'Overijssel'    => array("Deventer", "Enschede", "Hengelo", "Zwolle"),
    'Utrecht'       => array("Amersfoort", "Breukelen", "Utrecht", "Zeist" ),
    'Zeeland'       => array("Goes", "Middelburg", "Terneuzen", "Vlissingen"),
    'Zuid-Holland'  => array("Alphen a/d Rijn", "Den-Haag", "Rotterdam", "Schiedam"),
);

1 个答案:

答案 0 :(得分:0)

function getProvincie(){
var provincie = $('#provincie option:selected').val();

$.ajax({
    type: "POST",
    url: "getprovincie.php",
    data: {data: provincie},
    success: function(data) {
        alert(data);
        $('#stad').css('display','inline');
    },
    error: function(data) {

    }
});

}

//PHP page to where the AJAX call points:
<?php
$resultaat = $_POST['data'];

echo($resultaat);