【问题标题】:check the value with ng-options value使用 ng-options 值检查值
【发布时间】:2016-10-02 09:42:21
【问题描述】:

我使用 ng-options 创建了普通的选择框。我在对象中有value 属性和members 数组

$scope.currentprop = {
    name : "graphFillDirection",
    members : [{
        name : "ttb",
        caption : "Top to Bottom",
    }, {
        name : "btt",
        caption : "Bottom to Top"
    }, {
        name : "ltr",
        caption : "Left to Right"
    },{
        name : "rtl",
        caption : "Right to Left"
    }],
        value : "ttb"
}

所以我用members.name创建了下拉值。这是我的html

<select ng-model="currentprop.value" ng-options="value.name for (key , value) in currentprop.members"></select>

问题

我遍历成员数组并检查namevalue 属性。所以如果 members.name 等于 value 那么我应该将检查的索引值传递给 ng-model。

在普通的 javascript 中,我们曾经喜欢这个 currentprop.members.name.indexOf(currentprop.value)。所以这就是我需要分配给 ng-model 的内容。 目前我在ng-model 中使用currentprop.value。在这个地方我应该使用检查值的索引值。
我不知道如何实现它。请帮我。提前致谢。 Plnkr这里

【问题讨论】:

标签: javascript angularjs


【解决方案1】:

试试ng-selected

<select ng-model="currentprop.value" 
  ng-options="value.name as value.name  for (key,value) in currentprop.members" 
  ng-selected="{{currentprop.value == value.name}}">
</select>

Working Plunker

【讨论】:

    【解决方案2】:

    如果我正确理解您的问题,那么问题出在 ng-options 上。我认为您正在寻找的是:

    ng-options="member.name as member.caption for member in currentprop.members"
    

    【讨论】:

      【解决方案3】:
      <select ng-model="value" ng-options="value.name as value.name  for (key,value) in currentprop.members" ng-change=chk(value)></select>
      

      在您选择一个值时进行比较

      $scope.chk=function(data)
      {
      console.log(data== $scope.currentprop.value)
      }
      

      【讨论】:

        【解决方案4】:

        试试这个:

        http://plnkr.co/edit/R9zFHhXxTFqHGPgN0n4K

        我做了一些小改动并添加了一个 ng-change 元素,该元素将检查所选值是否等于您定义的值。

        <select ng-model="currentprop.selected" ng-change="onDropdownChange()" ng-options="value.name as value.name for (key , value) in currentprop.members">
          <option value="">Choose one...</option>
        </select>
        
        $scope.onDropdownChange = function(){
            if ($scope.currentprop.selected === $scope.currentprop.value){
               alert("Selected === value");
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-07-24
          • 1970-01-01
          • 2015-01-07
          • 2013-01-03
          • 2014-03-11
          • 2016-07-27
          • 2014-07-04
          相关资源
          最近更新 更多