如何在uploadify jquery之后刷新照片列表

时间:2010-04-10 15:42:56

标签: php jquery uploadify

我想做一种照片编辑器, 我使用uploadify上传图片

这是我的文件:http://www.mediafire.com/?3uzzgx5onzn

问题是:在上传图像之后我会生成一个拇指..当我点击它时,它会向我显示另一页中的大图片,我想在div或paragraf中显示图片!刷新页面后工作正常!为什么呢?

从我的PHP脚本我只收到图像名称(响应) 在UploadifyComplete之后我添加:

jQuery("#" + jQuery(this).attr('id') + ID).html('<a href="uploads/' + response + '"><img width="60px" height="60px" src="uploads/' + response + '" alt="' + response + '" /></a>');  

到此:

                        jQuery(queue).append('<li class="uploadifyQueueItem">\
                            <span class="fileName">' + fileName + ' (' + byteSize + suffix + ')</span>\
                            <div class="uploadifyProgress">\
                                <div id="' + jQuery(this).attr('id') + ID + 'ProgressBar" class="uploadifyProgressBar"><!--Progress Bar--></div>\
                            </div>\
                        </li>');
                }

,结果将是:

<div class="uploadifyQueue">
  <ul id="mainftpQueue">
    <li class="uploadifyQueueItem">
     <a href="uploads/Winter.jpg"><img height="60px" width="60px" alt="Winter.jpg" src="uploads/Winter.jpg"></a>
    </li>
  </ul>
</div>

我把所有图像放在1个php数组中 在上传所有图片后,我想刷新此代码所在的div:

                <div class="uploadifyQueue">
            <?php
            if ($_SESSION['files']){
                print '<ul id="mainftpQueue">'."\n";
                    foreach($_SESSION['files'] as $image ):
                        print '<li class="uploadifyQueueItem">'."\n";
                            print '<a href="uploads/'.$image.'"><img height="60px" width="60px" alt="'.$image.'" src="uploads/'.$image.'"></a>'."\n";
                        print "</li>\n";
                    endforeach;
                print "</ul>\n";
            }
            ?>
            </div>

我尝试:

$('#mainftpQueue').load(location.href+" #mainftpQueue>*","");
$('#mainftpQueue').load("/ #mainftpQueue li");

但没有成功

抱歉4我的英语不好..如果有的话可以编辑这个

感谢

1 个答案:

答案 0 :(得分:1)

您不能只加载这样的页面的一部分。你需要使用PHP。但是,您可以动态更改图像标记的src属性到缩略图。这样的事情会起作用:

var d = new Date();
$("img").each(function(i){
    this.attr("src", "/"+this.attr('src')+"?"+d.getTime());
}

Source

日期部分是为了确保浏览器不缓存它。这将迭代页面上的所有图像并重新加载它们。