JQuery 动态选项 选择“问题”


JQuery Dynamic Option Select Issue

这是这个问题的延续

这是动态 JQuery 选项选择生成器的代码。

首先,我将选择国家/地区,我没有包含代码,它将返回传递给控制器的国家/地区ID,然后是区域ID,然后是CityID。它运行良好,直到生成CityID选项选择菜单,当我移动到AreaID时,它不起作用。

缺少什么,我该如何解决?

我无法在第三个第二个之后生成菜单。

这是 HTML :

<div id='result' name="result">
<select  id="name">
<option value="" disabled>Please select above</option>
</select>
</div>
<div id='resulta' name="resulta">
<select  id="name">
<option value="" disabled>Please select above</option>
</select>
</div>
<div id='resultb' name="resultb">
<select  id="name">
<option value="" disabled>Please select above</option>
</select>

这是我的脚本:

<script>
  var ab = $.noConflict();
  ab(document).ready(function() {
    ab(document).on("change", "#CountryID", function() {
      var CountryID = ab("#CountryID").val();
      ab.post("globalregiongenerator", {
          CountryID: CountryID
        },
        function(data) {
          ab("#result").html(data);
        });
    });
  });
</script>

<script>
  var ac = $.noConflict();
  ac(document).ready(function() {
    ac(document).on("change", "#RegionName", function() {
      var RegionName = ac("#RegionName").val();
      ac.post("globalcitygenerator", {
          RegionName: RegionName
        },
        function(data) {
          ac("#resulta").html(data);
        });
    });
  });
</script>
<script>
  var ad = $.noConflict();
  ad(document).ready(function() {
    ad(document).on("change", "#CityName", function() {
      var CityName = ad("#CityName").val();
      ad.post("globalareagenerator", {
          CityName: CityName
        },
        function(data) {
          ad("#resultb").html(data);
        });
    });
  });
</script>

这是服务器端:

public function globalregiongenerator()
    {
    $CountryID = Input::get('CountryID');
    $result = DB::select("SELECT * FROM region where CountryID =$CountryID");
    echo "<select  id='RegionName' name='RegionName'> <option value='' id=''>Select the Area</option>"; 
    foreach ($result as $value) 
    {
    echo "<option value=".$value->RegionID.">".$value->RegionName."</option>";
    }
    echo "</select>";
    }
    public function globalcitygenerator()
    {
    $RegionID = Input::get('RegionName');
    $result = DB::select("SELECT * FROM city where RegionID =$RegionID");
    echo "<select  id='CityName' name='CityName'> <option value='' id=''>Select the Area</option>"; 
    foreach ($result as $value) 
    {
    echo "<option value=".$value->CityID.">".$value->CityName."</option>";
    }
    echo "</select>";
    }
    public function globalareagenerator()
    {
    $CityID = Input::get('CityName');
    $result = DB::select("SELECT * FROM area where CityID =$CityID");
    echo "<select  id='CityName' name='CityName'> <option value='' id=''>Select the Area</option>"; 
    foreach ($result as $value) 
    {
    echo "<option value=".$value->CityID.">".$value->CityName."</option>";
    }
    echo "</select>";
    }

注意:

捕获的类型错误:未定义不是函数

这是我在控制台中遇到的错误

更改

echo "<option value=".$value->CityID.">".$value->CityName."</option>";

echo "<option value='".$value->CityID."'>".$value->CityName."</option>";

与其他回声相同。您正在生成

<option value=united states>United States</option>

但它需要

<option value='united states'>United States</option>

更新:

将它们更改为

echo "<option value='"".$value->CityID."'">".$value->CityName."</option>";