2015-01-12 63 views
1

我需要使用css格式化選擇框的內容。這當然不能用標準選擇來完成,所以我試圖實現Select2來完成它。使用原始HTML Select2

我的HTML的基本格式如下

<select> 
    <option> 
     <span class="a">first</span> 
     <span class="b">second</span> 
    </option> 
    <option> 
     <span class="a">first</span> 
     <span class="b">second</span> 
    </option> 
</select> 

不幸的是選擇2除去HTML出的選項。

此外,我使用AngularJS實際填充字段。這可能會有所作爲。我嘗試過使用UI-Select庫,但它有太多的bug仍然沒有解決。

+0

我已經瀏覽了文檔,沒有太大的成功。你能否提供一個鏈接來說明如何做到這一點? – user3413723

回答

2

<option>元素不允許有純文本節點以外的任何子元素。

也就是說,選擇二提供的選項爲模板,它允許您將或者以其他方式在顯示前修改的值。

這裏是從上面的鏈接的例子:

function format(state) { 
    if (!state.id) return state.text; // optgroup 
    return "<img class='flag' src='images/flags/" + state.id.toLowerCase() + ".png'/>" + state.text; 
} 
$("#e4").select2({ 
    formatResult: format, 
    formatSelection: format, 
    escapeMarkup: function(m) { return m; } 
}); 

這裏有幾個答案,這將有助於你一個問題將其整合到您的AngularJS應用程序中: