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 item时我可以访问下面的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

我认为您的click事件未添加到您的#months li. 尝试使用 live 方法:http ://api.jquery.com/live/

代替:

$("#months li").click(function() {

用这个:

$("#months li").live('click', function() {

于 2012-06-01T09:23:17.427 回答
1

从 jQuery 1.7 开始,不推荐使用 .live() 方法。使用 .on() 附加事件处理程序。(但它工作正常^^虽然)

于 2012-06-01T09:38:04.710 回答