2017-10-08 29 views

回答

1

傳遞選擇器字符串時,使用的庫使用querySelector()

https://github.com/Mobius1/Selectr/blob/master/src/selectr.js#L963

var Selectr = function(el, config) { 
    //.... 
    this.el = el; 

    // CSS3 selector string 
    if (typeof el === "string") { 
     this.el = document.querySelector(el); 
    } 

這意味着它只會搶相匹配的第一個元素。爲了獲得所有元素的啓動,你必須自己循環遍歷它們,每個調用new Selectr()

document.querySelectorAll('.selecting').forEach(element=>{ 
    new Selectr(element); 
}); 

演示

document.querySelectorAll('.selecting').forEach(element => { 
 
    new Selectr(element); 
 
});
<select class="selecting"> 
 
\t <option vlaue="value-1">Value 1</option> 
 
\t <option vlaue="value-2">Value 2</option> 
 
\t <option vlaue="value-3">Value 3</option> 
 
\t ... 
 
</select> 
 

 
<div class="divider"> 
 

 
    <select class="selecting"> 
 
\t <option vlaue="value-1">Value 4</option> 
 
\t <option vlaue="value-2">Value 5</option> 
 
\t <option vlaue="value-3">Value 6</option> 
 
\t ... 
 
</select> 
 

 

 
    <div class="divider"> 
 

 
    <select class="selecting"> 
 
\t <option vlaue="value-1">Value 6</option> 
 
\t <option vlaue="value-2">Value 7</option> 
 
\t <option vlaue="value-3">Value 8</option> 
 
\t ... 
 
</select> 
 

 

 

 
    <link href="https://unpkg.com/[email protected]/dist/selectr.min.css" rel="stylesheet" type="text/css"> 
 
    <script src="https://unpkg.com/[email protected]/dist/selectr.min.js" type="text/javascript"></script>

0

然後,您可以通過傳遞一個引用您的選擇框作爲第一個參數實例Selectr ...(從Selectr github上)

看起來它會爲你工作,如果你會使用Selectr對象爲每個選擇標記,而不是集合。

因此,在您的html中將您的類名更改爲id,並創建多個Selectr對象。

new Selectr('#selecting1'); 
new Selectr('#selecting2'); 
new Selectr('#selecting3');