2013-12-14 197 views
1

我有一個下拉數據過濾器,使用它與同位素插件。在點擊下拉列表中隱藏其他下拉菜單

我試圖關閉一個下拉列表,當另一個列表項被點擊並打開下拉菜單時,向下旋轉箭頭。

我想知道我該如何實現這一目標。

這裏是我的jsfiddle

 function toggle_visibility(id) { 
     var e = document.getElementById(id); 
     if(e.style.display == 'block') 
      e.style.display = 'none'; 
     else 
      e.style.display = 'block'; 

    } 

    $('#nfbt #nfbtv').click(function(){ 
     $(this).toggleClass('fbt nfv'); 
    }); 

我使用了jQuery從一個教程因此它是在HTML本身,如果我將它移動到自己的js文件這是行不通的。

+0

什麼是 '#nfbtv'?沒有這樣的ID,所以'click()'處理程序將不起作用 –

回答

0
Hi Please have a look to this link. I make it to work for your requirement. 
If you want to change the arrow then add a class which will have down arrow 
css when you toggling it to down. 

http://jsfiddle.net/aUkku/60/

+0

這是完美的!但是當我選擇下拉列表時,它會關閉並再次打開,以避免它關閉下拉並再次打開。 –

0

我不知道你真正想要的,但這裏是我試圖使目標

function toggle_visibility(e) { 
    if (e.target.parentNode != this) return; 
    e.preventDefault(); 
    $(this).toggleClass('open').siblings('.hasarrow.open').removeClass('open'); 
} 
jQuery(function ($) { 
    $('.productfilters').on('click', '.hasarrow', toggle_visibility); 
}); 

http://jsfiddle.net/oceog/aUkku/4/