加载AJAX页面后调用Javascript函数

时间:2012-03-04 15:38:17

标签: php javascript css ajax siblings

我不是程序员,所以如果我的问题没有多大意义,我会道歉。

但基本上我有一个页面index.php有一组过滤器(按项目,年,月),按下提交后,将变量发送到filterData.php,以便在某些SQL语句中使用。

以图像缩略图表格形式的结果将返回到index.php中的div。我想要做的就是让用户点击图像时边框颜色会改变以突出显示当前对象。

<script type="text/javascript">
$(document).ready(function () {
    $('.thumbnail_small').click(function(){
        $(this)
            .css('border-color','#000')
            .siblings()
            .css('border-color','#ccc');
    });
});
</script>

^这就是我现在拥有的脚本,如果将缩略图表硬编码到index.php中,它就能正常工作。一旦我通过filterData.php加载了表,它就不再起作用了。

这是什么原因,我该如何解决?

1 个答案:

答案 0 :(得分:1)

  

一旦我通过filterData.php加载了表,它就不起作用了   了。

根据您使用的jQuery版本,使用live或更好on

$('#mainContainer').on('click', '.thumbnail_small', function(){
    $(this)
        .css('border-color','#000')
        .siblings()
        .css('border-color','#ccc');
});

或者

$('.thumbnail_small').live('click', function(){
    $(this)
        .css('border-color','#000')
        .siblings()
        .css('border-color','#ccc');
});

对于稍后或动态添加的元素,您必须使用liveon