JQuery动态选项选择问题

时间:2014-11-14 10:16:57

标签: javascript php jquery html laravel-4

这是此Question

的延续

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

首先我将选择Country,我没有包含代码,它将返回传递给控制器​​的CountryID,然后是RegionID,然后是CityID。 IT工作正常,直到生成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>";
    }

注意:

未捕获的TypeError:undefined不是函数

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

1 个答案:

答案 0 :(得分:1)

更改

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>";