Ajax Jquery问题:选择不响应的框

时间:2012-07-19 06:26:17

标签: jquery ajax

我对Jquery比较新,我正在尝试运行一些Jquery代码,我有一些问题......

代码确实显示了区域和城市选择框,但是当我选择一个区域时它没有任何反应(它应该显示所选区域的城市)......

这就是标签的含义......

  <script type="text/javascript">
var searchQry = '<?php echo fun_displaysc_js( $searchQry ); ?>' ;

$(document).ready(function(){
    if($('input[name=searchPattern]').val() == searchQry) {
        $('input[name=searchPattern]').css('color', 'gray');
    }
    $('input[name=searchPattern]').click(function(){
        if($('input[name=searchPattern]').val() == searchQry) {
            $('input[name=searchPattern]').val('');
            $('input[name=searchPattern]').css('color', '');
        }
    });
    $('input[name=searchPattern]').blur(function(){
        if($('input[name=searchPattern]').val() == '') {
            $('input[name=searchPattern]').val(searchQry);
            $('input[name=searchPattern]').css('color', 'gray');
        }
    });
    $('input[name=searchPattern]').keypress(function(){
        $('input[name=searchPattern]').css('background','');
    })




    $("#regionId").live("change",function(){
        var reg_code = $(this).val();
        <?php if($path=="admin") { ?>
            var url = '<?php echo func_admin_base_url(true)."?page=ajax&action=cities&regionId="; ?>' + reg_code;
        <?php } else { ?>
            var url = '<?php echo func_base_url(true)."?page=ajax&action=cities&regionId="; ?>' + reg_code;
        <?php }; ?>

        var result = '';

        if(reg_code != '') {

            $("#cityId").attr('disabled',false);
            $.ajax({
                type: "POST",
                url: url,
                dataType: 'json',
                success: function(data){
                    var length = data.length;
                    if(length > 0) {
                        result += '<option selected value=""><?php _display("Select a city..."); ?></option>';
                        for(key in data) {
                            result += '<option value="' + data[key].city_id + '">' + data[key].s_name + '</option>';
                        }

                        $("#city").before('<select name="cityId" id="cityId" ></select>');
                        $("#city").remove();
                    } else {
                        result += '<option value=""><?php _display('No results') ?></option>';
                        $("#cityId").before('<input type="text" name="city" id="city" />');
                        $("#cityId").remove();
                    }
                    $("#cityId").html(result);
                }
             });
         } else {
            $("#cityId").attr('disabled',true);
         }
    });

    if( $("#regionId").attr('value') == "")  {
        $("#cityId").attr('disabled',true);
    }
  });

 </script>

2 个答案:

答案 0 :(得分:1)

您的ajax方法是POST,但是您将所有数据放在网址查询字符串中,使用GET或将data属性添加到您的ajax调用中并传递您的参数在查询字符串时使用它。

var url = '<?php echo func_admin_base_url(true); ?>';
...
$.ajax({
    data: "page=ajax&action=cities&regionId=" + reg_code;//or data: {page:"ajax",action:"cities",regionId:reg_code}

答案 1 :(得分:-1)

$("#cityId").remove();替换为$("#cityId").empty();

并尝试一下。