2014-02-10 149 views
0

因此,我在網上找到了這段代碼,以便基於上下拉菜單而不是上下拉菜單,以便更輕鬆地進行設置。下拉菜單會影響其他下拉菜單

function DropDown(el) { 
    this.dd = el; 
    this.placeholder = this.dd.children('span'); 
    this.opts = this.dd.find('ul.dropdown > li'); 
    this.val = ''; 
    this.index = -1; 
    this.initEvents(); 
} 
DropDown.prototype = { 
    initEvents : function() { 
     var obj = this; 

     obj.dd.on('click', function(event){ 
      $(this).toggleClass('active'); 
      return false; 
     }); 

     obj.opts.on('click',function(){ 
      var opt = $(this); 
      obj.val = opt.text(); 
      obj.index = opt.index(); 
      obj.placeholder.text(obj.val); 
     }); 
    }, 
    getValue : function() { 
     return this.val; 
    }, 
    getIndex : function() { 
     return this.index; 
    } 
} 

$(function() { 

    var dd = new DropDown($('#dd')); 

    $(document).click(function() { 
     $('.wrapper-dropdown').removeClass('active'); 
    }); 

}); 

的一件事情是我想有基於此三種不同的下拉列表中,我想我可能只是去像:

var dd = new DropDown($('#dd')); 
var dd2 = new DropDown($('#dd2')); 
var dd3 = new DropDown($('#dd3')); 

好吧,當我選擇#DD2或#DD3的東西也影響#dd。

+0

在附註上,你總是可以使用[bootstrap-select](http://silviomoreto.github.io/bootstrap-select/)來選擇樣式。 – Tomanow

+0

我正在切換,謝謝你的提示! –

回答

0

好吧,在我看來,像所有ul的.dropdown類都是導致這個問題的原因。嘗試修改這個設置不同的類,看看它是否工作。

0

您的代碼和Google地圖代碼之間存在命名衝突。將課程名稱從dropdown更改爲其他任何內容(如selectpicker)應該可以解決問題。