【问题标题】:AngularJS: Select list manipulation from AngularJSAngularJS:从 AngularJS 中选择列表操作
【发布时间】:2016-03-14 03:39:42
【问题描述】:

我正在尝试从 Angular JS 中设置选择列表值,它不会引发任何异常,但也不会反映任何更改。这是我的jsp代码。

<select class="form-control "  id="searchCriteriaList"
                    name="searchCriteriaList" ng-model="searchCriteriaSelect" required>
                    <option>IMEI</option>
                    <option>Registration Number</option>
                </select>

这是我的 angularJS 代码

 var selectedValue = "IMEI";
 $scope.searchCriteriaSelect = selectedValue;

这显示了一个空白的选择列表。虽然这段代码有效

$scope.searchCriteriaSelect = "IMEI";

并选择列表在页面加载时显示 IMEI 选项。

但我无法分配硬编码值。它必须通过一个变量,因为数据来自我代码中的 ajax 请求。

请帮助我。提前致谢。

【问题讨论】:

  • 您是否尝试将其分配给列表的第一个索引?就像searchCriteriaList[0] 一样,或者当您获得ajax 调用的结果时,您然后将模型值分配给第一个索引?
  • 这在通用 Angular 1.4.8 应用程序中正常工作。 plnkr.co/edit/HBN6YGdWcobUKqz7Lhe9?p=preview。也许它与您使用的角度版本有关,或者与这些值交互的其他东西?

标签: angularjs dom-manipulation


【解决方案1】:

如果您通过 ngoptions 指令在 select 中分配选项会更好; https://docs.angularjs.org/api/ng/directive/ngOptions

<select ng-options="item as item for searchCriteriaList" ng-model="searchCriteriaSelect"></select>

那么你可以有一个明确的searchCriteriaList声明:

var searchCriteriaList = [];
searchCriteriaList.push("IMEI");

然后就可以按索引跟踪了:

$scope.searchCriteriaSelect = $scope.searchCriteriaList[0];

【讨论】:

    【解决方案2】:

    试试这个!

    <option value="IMEI">IMEI</option>
    <option value="XXX">Registration Number</option>
    

    在选项属性中添加value="IMEI"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-26
      • 1970-01-01
      • 2016-01-30
      • 2016-11-21
      • 2018-08-10
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多