之前一直用checkbox做多选,其实 select也可以多选,只要多给一个属性即可。
然后效果上可以多选,连选,反选(按下Ctrl 使用鼠标单击)等功能。
YII框架自带了这种标签的生成方法,即著名的小物件。调用代码如下
$form->field($model, 'type')->dropDownList($list,array('size'=>5,'multiple'=>'multiple'))->label(false);
这样就能把属性或者样式等传参传进去,然后生成的效果是
<select id="user-type" class="form-control" name="select_val[]" multiple="multiple" size="5">
<option value="1">test</option>
<option value="2">test2</option>
</select>
然后就可以多选了,当你选择多个以后,使用jquery获取选中的值的时候 会得到一个数组。例如 $("#标签id").val() 得到一个数组 ["1", "2"]
然后当你想反向绑定,通过获取的多个值,让select选中的话 可以这样赋值 $("#标签id").val(["1", "2"]);即可