ajax替换后的Select2事件

时间:2017-06-14 09:51:04

标签: ajax jquery-select2

我尝试使用Select2下拉列表创建过滤器,我不知道为什么Select2:select事件在使用Ajax发布的数据更新html后停止工作。

请帮忙 - 我的PHP是:

<div class="select-yellow fecha-container">
    <select id="fecha" class="select2 fecha-addon" data-minimum-results-for-search="Infinity">
        <?php foreach($fechas as $fecha): ?>
            <option value="<?php echo $fecha; ?>"><?php echo formatDate($fecha); ?></option>
        <?php endforeach; ?>
    </select>
</div>

JS文件:

$('#fecha').on("select2:select", function(e) {

    // here it's working

    var fecha = $('#fecha').val();
    var provincia = $('#provincia').val();

    var request = $.ajax({
        url: app.base_url + "/ajax-gallery/",
        method: "GET",
        data: {
            provincia: provincia,
            fecha: fecha,
            tag: provincia

        },
        dataType: "html"
    });


    request.done(function (msg) {

        if($.trim(msg).length) {
            $('.gallery-container').html(msg);

            var $filter = $('.gallery-container').find('.fecha-addon');
            $('.fecha-container').html($filter);

            $("#fecha option").each(function(){
                if($(this).val()==fecha){
                    $(this).attr("selected","selected");
                }
            });

            $('#fecha').select2({
                minimumResultsForSearch: -1
            });

            //after rebind the event doesn't work

        }else{
            $('#gallery-notices').html('<strong>No hay más imagenes con esta fecha</strong>');
        }
    });

    request.fail(function (jqXHR, textStatus) {
        alert("Request failed: " + textStatus);
    });



});

0 个答案:

没有答案