动态相关选择菜单jQuery PHP版本

时间:2012-01-17 11:58:04

标签: jquery

在之前提出的问题Dynamic dependent select menus中,我发布了此示例代码:http://jsfiddle.net/Bs5Db/50/。 这是特定jquery脚本的HTML版本。 用户@jSweazy帮助我指出,每当我从第一个菜单中选择一个新状态时,我应该更新jquery.uniform脚本。 该示例的工作版本位于:http://jsfiddle.net/Bs5Db/53/。 我知道默认选项对于菜单而言太大了,但很容易修复....

我现在的问题是我实际上使用的是脚本的PHP版本。在该版本中使用$ .uniform.update()更新jquery.uniform;不成功。实际上,当我插入更新命令时,第二个菜单不再可见。

PHP版本如下......

 $(document).ready(function(){
 function populate() {
 if($('#state').val() == 'AK' || $('#state').val() == 'DC') // Alaska and District     Columbia have no counties
{
   $('#county_drop_down').hide();
   $('#no_county_drop_down').show();
    } else {
   fetch.doPost('../getCounties.php');
   }
  }
  $('#state').change(populate);
  var fetch = function() {
  var counties = $('#county');
  return {
  doPost: function(src) {
 $('#loading_county_drop_down').show(); // Show the Loading...
 $('#county_drop_down').hide(); // Hide the drop down
 $('#no_county_drop_down').hide(); // Hide the "no counties" message (if it's the case)
 if (src) $.post(src, { state_code: $('#state').val() }, this.getCounties);
    else throw new Error('No SRC was passed to getCounties!');
},

getCounties: function(results) {

    if (!results) return;
            var allCounties = $("<option value=\"All\">All Counties</option>");
  counties.html(results);
  counties.prepend(allCities);
  counties.val("All").attr('selected',true);


$('#loading_county_drop_down').hide(); // Hide the Loading...

$('#county_drop_down').show(); // Show the drop down

}   
 }

 }();

 populate();
 });

查询数据库并检索每个州的县的getCounties.php工作正常。 州和县是两个选择菜单的名称。 所以如果有人能给我一个如何在这个版本的脚本中实现县菜单更新的建议,我将不胜感激。 提前花了很多时间来阅读!

1 个答案:

答案 0 :(得分:1)

我意识到即使在这种情况下你也必须更新jquery.uniform,但因为还有其他样式元素,如单选按钮,复选框等。 你必须插入$ .uniform.update('select')。所以代码的最后部分变成......

 $('#loading_county_drop_down').hide(); // Hide the Loading...
 $.uniform.update('select')
 $('#county_drop_down').show(); // Show the drop down