设置多个下拉列表的值

时间:2016-04-28 14:48:37

标签: angularjs

我试图在用户按下按钮时设置许多select元素的值。

我尝试过jQuery方式:

    vm.passAllInspections = function ($event) {
    $(".tbl-inspections option[value=pass]").attr("selected", "selected");
        console.log($event);
    }

这样可以,但不会更新ng-model甚至不会触发它。我查看了这个post,其中提供了input元素的详细信息。我无法让触发事件发生?

$('button').click(function(){
var input = $('input');
input.val('xxx');
input.trigger('input');
}); 

那么我尝试使用不起作用的$compile指令$compile(vm)($scope);,因为我不确定它是否必须是确切的ng-model属性?

然后我正在考虑使用ng-click="vm.eicr.inspections='pass'",但不确定如何将其应用于每个ng-model属性。

如何按下按钮并将pass添加到下拉列表中并触发ng-model,以便全部设置属性。

1 个答案:

答案 0 :(得分:1)

你有你的列表框:

<select data-ng-model="myValue">
   <option value="1">value 1 </option>
   <option value="2">value 2 </option>
   <option value="3">value 3 </option>
</select>

你有一个按钮:

<button data-ng-click="setListboxToValue('2')" value="Click me!"/>

单击该按钮时,将触发此功能:

$scope.setListboxToValue = function(value) {

   $scope.myValue = value;
}

这会将列表框设置为您想要的值。

完整示例代码:jsFiddle