0

尝试在用户使用 Jquery/Ajax 功能选择状态后填充城市的下拉列表

HTML 表单具有...

  <?php $allRegions = Region::newInstance()->getStatesByCountry('US'); ?>



     <select name="regionId" id="regionId">

     <?php foreach($allRegions as $region) { ?>
     <option value="<?php echo $region['value'] ; ?>"><?php echo $region['name'] ; ?></option>
     <?php } ?>
     </select> 

       <select name="cityId" id="cityId">Choose a city</select>     

jquery代码...

    $(document).ready(function(){



  $("#regionId").change( function() {

  var regionId = $(this).val();

  var url = '<?php echo site_base_url(true)."?page=ajax&action=cities&regionId="; ?>' + regionId;

  $.ajax({
  type: "GET"
  url: url,
  dataType: 'json',
  success: function(msg){
  if (msg != ”){
  $("#cityId").html(msg).show();

  }

  }
  });
  });
  });
  </script>

问题是,在选择一个区域时,城市下拉选择不会被填充......无法弄清楚......任何帮助表示赞赏。

4

3 回答 3

3

一个问题是你有一个奇怪的引号字符:

if (msg != ”){

你可能是这个意思:

if (msg != ''){
于 2012-07-19T22:52:55.687 回答
2

另一个问题是:

  type: "GET"

那应该是:

  type: "GET",
于 2012-07-19T22:53:27.567 回答
0

不要粗鲁,但是您的代码非常嵌套,并且不必要的复杂。修复上面提到的所有其他人,还有这个:

 <?PHP
 foreach($allRegions as $region) {
 <option value="<?php echo $region['value'];" . "><" . echo $region['name']; .
 "</option>" } ?>
 </select> 
于 2012-07-20T09:10:57.650 回答