0
重用表單域我有一個字段是一個選擇二小部件領域,它通常以多種形式使用,但複製粘貼相同的代碼一段時間變得非常煩人了。因此,我決定最好爲這個領域創建一個小部件。Yii2:通過小部件
領域是如下
<?= $form->field($model, 'contact_id')->widget(Select2::className(), [
'initValueText' => empty($model->contact_id) ? '' : $model->contact->contact_id . ' ' . $model->contact->fullname,
'options' => [
'class' => 'input-sm',
'id' => 'contact_id',
'placeholder' => '-- Search --',
'disabled' => $disabled,
'onchange' => new JsExpression("get_contact_info($(this).val())"),
],
'pluginOptions' => [
'allowClear' => true,
'language' => [
'errorLoading' => new JsExpression("function() { return 'Waiting for results...'; }"),
],
'ajax' => [
'url' => $fetch_url,
'dataType' => 'json',
'data' => new JsExpression('function(params) { return {q:params.term}; }'),
'results' => new JsExpression('function(data,page) { return {results:data.results.text}; }'),
],
'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
'templateResult' => new JsExpression('function(contact) { return contact.text; }'),
'templateSelection' => new JsExpression('function (contact) { return contact.text; }'),
],
]); ?>
此字段利用Ajax的擷取,並且必須允許在用於創建和更新的形式。
任何人都可以請點我到正確的方向。
這是正確的,創建窗口小部件並根據需要進行配置。 – SiZE