2017-11-18 1 views
0

Wie übersetzt man dies in Yii2 select2 kartik widget? Ich denke, das "Daten" -Attribut aus dem select2 kartik Widget erlaubt nur ID -> Text. Gibt es eine Möglichkeit, dies mit dem Widget zu erreichen?Yii 2 Select2 kartik mit benutzerdefinierten html

var data = [{ 
    id: 0, 
    text: 'enhancement', 
    html: '<div style="color:green">enhancement</div>' 
}, { 
    id: 1, 
    text: 'bug', 
    html: '<div style="color:red">bug</div><div><small>This is some small text on a new line</small></div>' 
}]; 

function template(data) { 
    return data.html; 
} 

$("select").select2({ 
    data: data, 
    templateResult: template, 
    escapeMarkup: function(m) { 
     return m; 
    } 
}); 
+0

Haben u die Lösung oder noch auf der Suche für einen finden? –

+0

Ja, bitte sehen Sie meine Antwort unten. – user3427013

Antwort

0

Die Lösung besteht darin, die "data" Attribut in der "pluginOptions" Array zu verwenden:

echo $form->field($model, 'id_customer')->label(false)->widget(Select2::classname(), [ 
    'data' => [], 
    'options' => ['placeholder' => Yii::t('app', 'Select a customer')], 
    'pluginOptions' => [ 
     'allowClear' => true, 
     'data' => $customerList, 
     'escapeMarkup' => new JsExpression('function (markup) { return markup; }'), 
     'templateResult' => new JsExpression('formatTemplateResult'), 
     'templateSelection' => new JsExpression('formatSelection'), 
    ], 
]); 
Verwandte Themen