-2

私は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>
4

2 に答える 2

1

あなたのajaxメソッドはありPOSTますが、すべてのデータをURLクエリ文字列に入れGET、プロパティを使用するか、ajax呼び出しに追加して、dataクエリ文字列として使用していたパラメータを渡します。

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}
于 2012-07-19T06:37:06.957 に答える
-1

$("#cityId").remove();と置き換えます $("#cityId").empty();

そして試してみてください。

于 2012-07-19T06:59:57.917 に答える