【问题标题】:jQuery muiltiselect is not working with AngularJSjQuery 多选不适用于 AngularJS
【发布时间】:2018-05-22 11:32:44
【问题描述】:

我正在使用带有复选框选项的 jQuery 多选,这是我的控制

<div id="main-wrapper" ng-app="MyApp">
    <div ng-controller="ngCtrl" style="background:#efefef; border-radius:5px; padding:15px; margin:15px 0px;">
        <label class="col-md-4 control-label" for="rolename">Role Name</label>
        <select id="dates-field2" class="multiselect-ui form-control" multiple="multiple">
            <option value="cheese">Cheese</option>
            <option value="tomatoes">Tomatoes</option>
            <option value="mozarella">Mozzarella</option>
            <option value="mushrooms">Mushrooms</option>
            <option value="pepperoni">Pepperoni</option>
            <option value="onions">Onions</option>
        </select>
    </div>
</div>

但问题是这个控件放在AngularJS的ng-controllerng-app里面。因此,当我打开控制器并检查其中的复选框时,它没有像预期的那样工作。

【问题讨论】:

标签: javascript jquery angularjs select multiselect.js


【解决方案1】:

jQuery 扩展在与 AngularJS 的交互中造成了很多问题。您可能会查看这篇关于 - “Thinking in AngularJS” if I have a jQuery background? 的好文章。您需要创建一个指令或只使用与 AngularJS 兼容的选择。您可以使用基于 select2 的ui-select

<div ng-app="app" ng-controller="myCtrl as vm">
  <ui-select multiple tagging ng-model="vm.selected" theme="bootstrap">
    <ui-select-match placeholder="Pick one...">{{$item.value}}</ui-select-match>
    <ui-select-choices repeat="val in vm.values | filter: $select.search track by val.value">
      <div ng-bind="val.value | highlight: $select.search"></div>
    </ui-select-choices>
  </ui-select>
</div>

> Demo fiddle

【讨论】:

    【解决方案2】:

    删除属性 multiple="multiple" 并尝试使用

    多个=“真”

    【讨论】:

      猜你喜欢
      • 2013-10-03
      • 2016-10-16
      • 2014-01-07
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      相关资源
      最近更新 更多