Yii2 使用select2 元件實現下拉搜尋

2021-08-06 04:34:47 字數 2083 閱讀 5584

剛開始使用yii,需要實現下拉多選搜尋,就找到了select2這個元件,先看看實現後的效果:

如何安裝select2網上有很詳細的教程,這裡不做贅述。

完成後只需要在視**件use kartik\select2\select2就可以了。

具體的檢視中的**如下:

=

$form->field($model, 'search')->widget(select2::classname(), [

'options' => ['placeholder' => '請輸入使用者id ...'],

'pluginoptions' => [

'id' => new j***pression("function(rs) "),

'placeholder' => 'search ...',

'multiple' => true,

'allowclear' => true,

'language' => [

'errorloading' => new j***pression("function () "),

],'ajax' => [

'url' => url::to(['gm-account-info/search-title']),

'datatype' => 'json',

'data' => new j***pression('function(params) ; }')

],'escapemarkup' => new j***pression('function (markup) '),

'templateresult' => new j***pression('function(res) '),

'templateselection' => new j***pression('function (res) '),

],]);

?>

控制器中**如下:

$out = ['results' => ['userid' => '', 'text' => '']];

if (!$q)

$data = gmaccountinfo::find()

->select('uid as userid, account_name as text')

->andfilterwhere(['like', 'uid', $q])

->asarray()

->all();

$out['results'] = array_values($data);

echo json_encode($out);die;

這樣出來的結果是這樣的:

搜尋結果是下拉顯示出來了,但是無法選中。

最後將控制器中的**做了一點修改:

$out = ['results' => ['id' => '', 'text' => '']];

if (!$q)

$data = gmaccountinfo::find()

->select('uid as id, uid as text') //userid=>id

->andfilterwhere(['like', 'uid', $q])

->asarray()

->all();

$out['results'] = array_values($data);

echo json_encode($out);die;

將返回資料的格式調整為[『id』=>」,』text』=>],就正常了。

結論:使用select2 元件時,後端返回的資料格式必須是[『id』=>」,』text』=>]這個格式的。

yii2 常用元件 表單

簡介 yii2中最常用的元件activeform,通過對activeform的靈活運用,能有效的提公升開發效率,所以這個是不得不說的乙個yii2元件,那麼下面就來了解一下yii2.0的activeform的具體用法 用法 form signup 文字框的標題 field model,test1 la...

select2 使用筆記

1.把頁面中 可能不在同乙個頁面,一般都是在列表頁介面 的tabindex刪掉 tabindex 1 role dialog aria labelledby mymodallabel aria hidden true 2.重寫enforcefocus方法 fn.modal.constructor.p...

select2的簡單使用

修改 type template.html 引入js stylesheet href plugins select2 select2.css stylesheet href plugins select2 select2 bootstrap.css stylesheet href plugins a...