所以我遇到了一个非常简单的问题,我似乎无法放在一起...我只是使用AJAX重新加载图像表,所以当用户选择一个选项时(在这种情况下是一个名字)它将重新加载图像框。到目前为止,它工作,它一直在工作,但唯一的问题是我需要做一个'硬'刷新或选择相同的选项两次。否则,它真的不会起作用。如果有人有解决方案,我会发布尽可能多的代码。谢谢!
jQuery的:
$('select.hotelmain').on('change', function (e){
var id = $(this).val();
var dataString = 'id=' + id;
e.preventDefault();
alert('got here');
$.ajax({
type: "POST",
url: "../ajax/ajax_images.php",
data: dataString,
cache: false,
success: function (html) {
$("ul.image-list").html(html);
}
});
$('p.selectMessage').css('display','none');
$('.inner-container').css('display','block');
$('.display').css('height','0px');
return false;
});
PHP:
<?php
session_start();
$hotelId = $_SESSION['curHotelId'];
$hotelDir = '../assets/php/upload/'.$hotelId.'/*';
$count = 1;
if ($hotelId) {
foreach(glob($hotelDir) as $filename=>$hotelvalue){
echo '<li id="del'.$count.'" class="image-list"><img src="'.$hotelvalue.'" width="50px" height="50px"/><p class="filename">' . basename($hotelvalue) . '</p> <a class="btn btn-mini btn-primary image-list" style="width: 18px;margin-top: -25px;border-radius: 100%;-moz-border-radius: 100%;-o-border-radius: 100%;-webkit-border-radius: 100%;" id="del'.$count.'" value="Delete"><i class="icon-remove-circle icon-2" style="margin-left:-3px;"></i></a></li>' . "\n" . "<br>";
$count++;
}
}else{}
?>
同样,任何事情都有帮助,我似乎无法让它做我想做的事。谢谢!
答案 0 :(得分:1)
你需要做两次相同的选项,因为你有.on(改变)。由于它是相同的,它实际上不会改变。
编辑:而不是更改,请尝试直播。
答案 1 :(得分:0)
看起来你正在从会话中获取hotleId而不是$ _POST vars 你什么时候设置$ _SESSION ['curHotelId']?