2011-06-03 74 views
0

我目前正試圖建立使用JQuery和Ajax過濾搜索功能後停止workiong。該過濾器可以看出:的JavaScript調用Ajax

http://www.danfarrellwright.com/screwsline/front_end/product.php?product_id=104

頁面加載時將鼠標懸停在表中,你會看到當前小區改變顏色。現在使用長度或計量過濾器來減少結果,當ajax完成後,錶盤懸停功能不再起作用。幫助將不勝感激!

下面是改變表格單元格顏色的功能:

$('table') 
    .delegate('.price_cell', 'mouseenter', function() { 
     if ($(this).index() > 0) { 
      $(this).css('background-color','#cce6ff'); 
      $('td:lt(1)', $(this).parents('tr')).css({'background-color':'#0096E1','color':'#ffffff'}); 
     } 
    }) 
    .delegate('.price_cell', 'mouseleave', function() { 
     if ($(this).index() > 0) { 
      $(this).css('background-color','#ffffff'); 
      $('td:lt(1)', $(this).parents('tr')).css({'background-color':'#ffffff','color':'#002436'}); 
     } 
     }); 

而這裏的功能滑塊和Ajax:

$("#lengthSlider").slider({ 
    range: true, 
    min: lengthMin, 
    max: lengthMax, 
    step: 5, 
    values: [ lengthMin, lengthMax ], 
     slide: function(mouseleave, ui) { 
     $(this).siblings('input[class^="low"]').val(ui.values[ 0 ]); 
     $(this).siblings('input[class^="high"]').val(ui.values[ 1 ]); 
     $('#tableHolder').html('<img src="' + base + 'images/ajax-loader.gif" alt="ajax-loader" />&nbsp;Screwsline powered by Webformed'); 
     $('#tableHolder').load(document.URL + ' #tableHolder', { 
        'lengthMinFil':ui.values[ 0 ], 
        'lengthMaxFil':ui.values[ 1 ] 
       }); 
    } 
}); 
+1

的Java?你的意思是JavaScript? – 2011-06-03 17:52:32

+0

嘗試使用.live而不是委託? – OneOfOne 2011-06-03 17:56:22

+0

是的JavaScript,我是否在某處寫Java? – 2011-06-03 17:56:55

回答

1

您的委託是$(「表」),它位於$(「#tableHolder」)的內在含義,當你做的Ajax調用它會被替換,所以你失去你委派。

0

您在新表中加載。您需要重新將您的功能重新綁定到這個新表格。由於它與在頁面加載時綁定的表格不同(當調用delegate()時)。

OR

你可以使用jQuery的live()功能。