1
<ul id="months">
                <?php foreach ($months as $key => $value) { ?>
                    <?php if ($key != 0 && array_key_exists($key, $monthArray) && date("m") > $key) { ?>
                        <li id="<?= $key ?>"><a href="#" rel="nofollow"><?= $value ?></a></li>
                        <?php
                    }
                }
                ?>

以下はjqueryコードです

        $("#year").change(function(){
//        alert($(this).val());
        $.ajax({
            type: 'get',
            url: 'ay/templates/frontend/_previous_months.tpl.php',
            data: 'year=' + $(this).val(),
            success: function(data) {
                $("#months").html(data);`
            }
        });
    });

問題 :初めてパーシャルをリクエストすると適切な結果が得られますが、数か月後にパーシャルを取得すると、そこから jquery にアクセスできなくなります。

以下は、parialを取得した後にアクセスする必要があるjquery関数です(上記のajax呼び出しを行う前に、liアイテムをクリックするとjquery関数の下にアクセスできます

$("#months li").click(function(){
    alert("aaaaaaaaaaaaaaaaaaa");
    $.ajax({
        type: 'get',
        url: 'ay/templates/frontend/_previous_charities.tpl.php',
        data: 'month=' + $(this).attr("id") + '&year=' + $('#year').val(),
        success: function(data) {
            if(data == 'false'){
                $("#charity_result").html("No previous charity in selected Month");
            }else{
                $('#charity_result').fadeOut('slow');
                //                $('#ajax-result').fadeIn('slow');

                $('#charity_result').fadeIn('slow');
                $("#charity_result").html(data);

            }

        }
    });
});
4

2 に答える 2

1

jQuery 1.7 以降、.live() メソッドは非推奨になりました。.on() を使用して、イベント ハンドラーをアタッチします。(しかし、それは正常に動作します^^しかし)

于 2012-06-01T09:38:04.710 に答える