I am using jquery select2 multiple select,and i am binding it with database values using ajax,when I have 2 values coming from database ,its getting selected in select2 control but when i have more than two values its selecting only one value in select2 control.Any solution?
beleow is my code--
-------HTML declaration
<select name="select" id="CommodityList" class="span12 nostyle " placeholder="Select Commodities"
size="0" multiple="multiple">
<option value="">----</option>
<optgroup label="Commodity Code/Name">
<asp:Literal ID="litCommodities" runat="server"></asp:Literal>
</optgroup>
</select>
-----------binding---
$("#CommodityList").select2({
formatResult: formatCommodity,
formatSelection: formatSelectionCommodity
});
function formatCommodity(state) {
if (!
state.id) return state.text; // optgroup
var parts = state.text.split("|")
if(parts.length>0){
return "<span style='position:absolute;min-width:150px;margin-left:4px'>"+parts[0]+"</span><span style='position:absolute;min-width:200px;left:150px;min-height:20px;'>" + parts[1]+"</span>.";
}
else{
return "<span style='position:absolute;min-width:150px;margin-left:4px'>"+
state.id+"</span><span style='position:absolute;min-width:200px;left:150px;min-height:20px;'>" + state.text+"</span>.";
}
}
function formatSelectionCommodity(state) {
if (!
state.id) return state.text; // optgroup
var parts = state.text.split("|")
if(parts.length>0){
return parts[0];
}
else{
return state.text;
}
}
-----------selecting values based on values returnig from database-----------
if(pageData.CommodityCodes==null || pageData.CommodityCodes.length==0)
{
$("#CommodityList").select2("val","");
}
else
{
$("#CommodityList").select2("val",pageData.CommodityCodes.split(',')).trigger("change");
}