2011-06-03 63 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()功能。