0

所以我遇到了一个非常简单的问题,我似乎无法将其放在一起......我只是使用 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{}
?>

同样,任何有帮助的东西,我似乎都无法让它做我想做的事。谢谢!

4

2 回答 2

1

您需要两次执行相同的选项,因为您有 .on(change)。既然是一样的,那它实际上并没有改变。

编辑:不要改变,而是尝试live

于 2013-07-17T19:06:48.463 回答
0

看起来您是从会话中获取 hotleId 而不是 $_POST 变量。
什么时候设置 $_SESSION['curHotelId']?

于 2013-07-17T18:56:21.280 回答