2013-04-05 85 views
0

我有幾個函數,用php排序屬性列表。排序工作,但我需要爲當前活動點擊href設置活動狀態。當然,我不能這麼幸運,只能用CSS來設置它(儘管我已經在下面引用了我的CSS代碼片段),所以我試圖用jQuery來實現,但到目前爲止還沒有成功。您可以找到我的下面的php,jquery和css。如果任何人都可以指引我朝着正確的方向,我將非常感激任何幫助。提前致謝!如何使用JS/jQuery設置複選框的活動狀態

<div> 
    <?php 
     foreach(array('desc'=>$main_floor_master) as $asc_desc => $asc_desc_name) { 
     echo '<a class="filter-checkboxes" href="'; 
     echo add_query_arg(array('orderby' => main_floor_master, 'order' => $asc_desc) 
     ); 
     echo "\">Main Floor Master</a>"; 
     } 
    ?> 

    <?php 
     foreach(array('desc'=>$locality_status) as $asc_desc => $asc_desc_name) { 
     echo '<a class="filter-checkboxes" href="'; 
     echo add_query_arg(array('orderby' => status, 'order' => $asc_desc) 
     ); 
     echo "\">Quick Move In</a>"; 
     } 
    ?> 
</div> 


<!-- Active states --> 
<script> 
$(document).ready(function(){ 

    //active state 
    $(function() { 
     $('a').click(function(e) { 
      e.preventDefault(); 
      var $this = $(this); 
      $this.parent().addClass('active'); 

     }); 
    }); 
}); 
</script> 


<!-- CSS --> 
a.filter-checkboxes {color: #cacaca !important; font-weight: bold; background: url(images/btn-checkboxbg.jpg) no-repeat 0 0; padding-left: 24px; margin-left: 10px;} 
a.filter-checkboxes:active {color: #cacaca; font-weight: bold; background: url(images/btn-checkboxbg_selected.jpg) no-repeat 0 0; padding-left: 24px; margin-left: 10px;} 

回答

1
$('a').click(function(e) { 
    e.preventDefault(); 
    $(this).addClass('active'); 
}); 

嘗試上面的代碼。除非您在代碼段中多次使用對象,否則不必緩存對象。

,創造

a.active{ // 
    // style you want the active link to have 
} 

注意,它應該a.filter-checkboxes.activea.filter-checkboxes:active

Similar question

+0

並將'a.filter-checkboxes:active'更改爲'a.filter-checkboxes.active' – barbashov 2013-04-05 15:56:01

0
$('.filter-checkboxes').click(function(e) { 
     e.preventDefault(); 
     $('.active').toggleClass('active'); 
     $(this).toggleClass('active'); 

    }); 

這將刪除以前的活動類CSS規則(假設你不能有兩種類型同時激活),並在新單擊的元素上設置類。另外,我更改了選擇器以使其更具體,因此它不會在頁面上的每個<a>標記上運行。

也改變了CSS來:

a.filter-checkboxes {color: #cacaca !important; font-weight: bold; background: url(images/btn-checkboxbg.jpg) no-repeat 0 0; padding-left: 24px; margin-left: 10px;}  
a.filter-checkboxes.active {color: #cacaca; font-weight: bold; background: url(images/btn-checkboxbg_selected.jpg) no-repeat 0 0; padding-left: 24px; margin-left: 10px;} 

希望有所幫助。

+0

感謝您的答覆。我已經相應地改變了我的CSS(不知道爲什麼我有:active vs .active)並嘗試了兩種選擇,但仍然不幸成功。做仍然需要「$(document).ready(function(){」?下面我有我的代碼: user2105735 2013-04-05 16:45:15

+0

OK,我已經能夠成功地應用活動狀態的建議(我不得不改變$爲jQuery),但排序停止工作(頁面不會改變或做任何事情)。需要添加?再次感謝所有幫助! – user2105735 2013-04-05 19:36:13

+0

嘿,所有,再次感謝您的回覆ES。再一次,我能夠獲得活動狀態以進行工作,但頁面不會改變。除了活動函數之外,還需要添加一個類似var url更改函數的內容嗎?或者我只是在做錯什麼?真的很感謝所有和任何見解。提前致謝! – user2105735 2013-04-07 18:40:23

相關問題