使用加载和功能

时间:2012-03-20 14:50:03

标签: jquery

我有这段代码:

<div id="gll_select">
            <script>
             var caffe = $("#caffe").val();
             $("#gll_select").load("<?php echo base_url() ?>form/galleries", {id : caffe});  
            </script>
</div>

加载它:

<select name="gll" id="gll">
    <?php foreach ($galleries as $key) : ?>
        <?php if($id == $key['caffe_id']) :?>
        <option value="<?php echo $key['id_gallery'] . " " . $key['name'] ?>"><?php echo $key['name'] ?></option>
        <?php endif; ?>
    <?php endforeach; ?>        
</select>

和这一个:

$("#gll").on('change',function(){
    var cff_name = $("#caffe_name").val();
    var gll = $("#gll").val();
    var gll = gll.split(' ');
    var gll_id = gll[0];            
    var data = "cff_name=" + cff_name + "&gll_id=" + gll_id;
    $('table tbody').empty();
    $.ajax({                
                url: '<?php echo base_url() ?>upload/get_files',
                dataType: 'json', 
                data : data,
                success : function(data) {                   
                    var fu = $('#fileupload').data('fileupload'), 
                    template;
                    fu._adjustMaxNumberOfFiles(-data.length);
                    template = fu._renderDownload(data)
                    .appendTo($('#fileupload .files'));                    
                    // Force reflow:
                    fu._reflow = fu._transition && template.length &&
                    template[0].offsetWidth;
                    template.addClass('in');
                    $('#loading').remove();
                }
});
});

问题在于改变没有任何反应。我需要做什么?

1 个答案:

答案 0 :(得分:1)

你应该在#gll调用完成后附加load()元素的处理程序(实际上就像一个异步的ajax调用):可能是你为{{1}定义了处理程序的那一刻在加载html代码之前的事件,所以没有任何事情发生,因为选择还不存在。

尝试以这种方式改变

change