2016-04-28 464 views
0

我知道這裏有很多問題,但沒有爲我工作。通過Javascript添加類(PHP循環)

for($u = 0; $u < count($pui); $u++){ 
    echo '<li id="catso_'.$u.'" class="btn" value="'.trim($pui[$u]['category_id']).'" onclick="moveCategory(this.value);">'.trim($pui[$u]['category_name']).'</li>'; } 

在上面的代碼中,我要添加上已經被點擊其中的鏈接active類。

jQuery代碼:

$('.nav').on('click', 'li', function(){ 
    $('.nav li').addClass('active'); 
    $(this).removeClass('active'); 
}); 

我稱上的功能的onclick onclick="moveCategory(this.value);"然而即通過在文本框中的值;希望不會與jquery函數衝突。

任何幫助將不勝感激。

感謝, Utpal

+0

如果我的理解問題正確的,那麼你必須從每一個裏刪除類,並添加到點擊一個像'$('。nav li')。removeClass('active'); $(this).addClass('active');'可能有助於... – Dhara

+0

'onclick =「moveCategory(this.value);」'不會傳入屬性'value'的值。你需要使用'this.getAttribute(「value」)'或者類似的 –

+0

嘿Debin謝謝你的回覆,但是這不太合適。 –

回答

0

喜歡使用在事件處理程序裏的ID改變活動類

$(document).on("click", "li[id*='catso_']", function(){ 
    //get the loop value to speficy the pressed li 
     var id= this.id.replace('catso_',''); 
    $('#catso_'+id).addClass('active'); 
     //if you want to remove all other active 
     $('.btn:not(#catso_'+id+')').removeClass('active'); //!fixed 
    }); 
+0

謝謝你,但是這不起作用;控制檯也沒有錯誤.. –

+0

對不起,man。fixed現在,只是測試 –