我使用此库(https://select2.github.io/)实现了可搜索的下拉列表,其工作正常但单击按钮时无法获得ng-model
值。
<select ng-model="destination_name" class="js-example-basic-single form-control" >
<option selected disabled>Choose</option>
<?php foreach ($all_dest as $value): ?>
<option value="<?=$value->id?>"><?=$value->destination_name?></option>
<?php endforeach; ?>
</select>
<input type="button" ng-click="addDest(destination_name)" value="{{btnTxt}}" name="add" class="btn btn-primary pull-right"/>
jquery for searchable dropdown
$(document).ready(function() {
$(".js-example-basic-single").select2();
});
Angular js代码
$scope.addDest=function (value) {
alert(value);
}
此处addDest
是在单击按钮时在下拉菜单中传递所选值的函数
即使选择了某个项目,我也会获得undefined
。
注意
当我隐藏jquery
部分时,它会提供可搜索的下拉菜单,我将获得ng-model
值。
我认为它是jquery部分的问题。
答案 0 :(得分:1)
最佳解决方案 - 使用https://github.com/angular-ui/ui-select代替您的选择。
下一个解决方案 - 使用select
编写包装器指令和同步范围$scope.$apply();
on select2 change event;