2012-03-04 79 views
0

我不是程序員,所以我很抱歉如果我的問題沒有多大意義。加載AJAX頁面後調用Javascript函數

但基本上我有一個頁面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

曾經有過filterData.php裝表,這是行不通的 了。

使用live或更好on取決於jQuery的版本使用的是:

$('#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

+0

是#mainContainer父div嗎?我正在使用Jquery 1.3,這是我改變它但它仍然不起作用:
user1067577 2012-03-04 15:52:40

+0

@ user1067577:是的,你應該有一個id爲id的容器,例如'id =「mainContainer」'你可以改變它的名字或者使用現有的名字。或者你可以簡單地在我的答案中使用第二個例子。 – Sarfraz 2012-03-04 15:54:14

+0

你真了不起!非常感謝你:)我用第二個例子。 – user1067577 2012-03-04 15:57:23

相關問題