2016-01-20 5 views
1

Select2 плагин не отображает выбранную опцию с параметром templateFormat Кто-нибудь знает, как это исправить?JQuery Select 2 не отображает выбранное значение

разметки:

<select id="plans" style="width: 75%"> 
<option value="1" name="text1" price="$1" saving="text" selected="selected"></option> 
<option value="2" name="text2" price="$2" saving="text" selected="selected"></option> 

ЯШ:

$(document).ready(function() { 
$('select#plans').select2({ 
    minimumResultsForSearch: Infinity, 
    templateResult: formatState 
}); 
}); 
function formatState(state) { 
if (!state.id) return state.text; 
var html = '<span class="name">' + state.element.attributes.name.value + "</span>" 
html += '<span class="price">' + state.element.attributes.price.value + </span>" 
html += '<span class="saving">' + state.element.attributes.saving.value + "</span>" 
var $state = $(html); 
return $state 
} 

здесь является fiddle выше код

Спасибо

ответ

1

I FIGU красный это. Сделал следующее изменение, и он начал работать. Я добавил templateSelection.

$(document).ready(function(){ 
$('select#plans').select2(
     {minimumResultsForSearch: Infinity, 
      templateResult: formatState, 
     templateSelection:formatState 
    });  
    }); 
+0

да, это работает ... спасибо большое – Rafael

0

Самый простой способ для решения этой проблемы:

// Step1: Here assuming id of your selectbox is my_id, so this will add selected attribute to 1st option 
$('#my_id option').eq(0).prop('selected',true); 


// Step2: Now reinitialize your select box 

// This will work, if you haven't initialized 
selectbox $('#my_id').select2(); 

or 

//This will work, if you have initialized selectbox earlier, so destroy it 
    first and initialise it 
$('#my_id').select2('destroy').select2(); 
Смежные вопросы