ng-change正在消除预先选择的下拉选项

时间:2018-03-05 11:51:26

标签: javascript angularjs

我一直在使用ng-change实现一些实时搜索,除了我在预先选择的下拉框中遇到的这个问题之外,它工作得非常好。

当我提供页面时,我设置 selected =“selected”我想成为默认选项。但是,当页面加载时,它只是跳转到顶部选项。我需要下拉框以保留第三选项。

<html>
<body >

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.min.js" type="text/javascript"></script>

<script type="text/javascript">
  angular.module('myApp', [])
       .controller('Ctrl', function ($scope, $http)
       {
       });
</script>

<form name="aspnetForm" method="post" action="./Test2.aspx" id="aspnetForm">

  <div ng-app="myApp" ng-controller="Ctrl">
    <select name="DropDownTest" id="DropDownTest" ng-model="LiveSearchOptions" ng-change="SearchFieldChanged()">
      <option value="">ALL</option>
      <option value="1">One</option>
      <option value="2">Two</option>
      <option value="3" selected="selected">Three</option>
      <option value="4">Four</option>
      <option value="5">Five</option>
    </select>
  </div>

</form>

当我删除模块时(只删除脚本标签),它可以正常工作。你能告诉我吗?我对此很新!

JS小提琴玩弄 https://jsfiddle.net/4to3ux4g/14/

1 个答案:

答案 0 :(得分:1)

您已将ng-model附加到控制器。因此,selected

中的值会覆盖ng-model属性
 angular.module('myApp', [])
  .controller('Ctrl', function ($scope, $http)
  {
     $scope.LiveSearchOptions = '3';
  });

小提琴:https://jsfiddle.net/BoyWithSilverWings/bbsymmr8/1/