我有这段代码:
<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();
}
});
});
问题在于改变没有任何反应。我需要做什么?
答案 0 :(得分:1)
你应该在#gll
调用完成后附加load()
元素的处理程序(实际上就像一个异步的ajax调用):可能是你为{{1}定义了处理程序的那一刻在加载html代码之前的事件,所以没有任何事情发生,因为选择还不存在。
尝试以这种方式改变
change