Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 字符串比较在指令中不起作用_Angularjs - Fatal编程技术网

Angularjs 字符串比较在指令中不起作用

Angularjs 字符串比较在指令中不起作用,angularjs,Angularjs,我不确定为什么selectedAction=='Complete'部分不能正常工作。div没有显示,但是我可以看到span标记中的{{selectedAction}}显示为“complete” select正在正确填充 当我查看dom时,不完整的文本周围似乎有前导和尾随空格。actionTypes的JSON如下所示,所以我不确定空白是从哪里来的。不知道如果我需要修剪什么,或者我在这里忽略了什么 $scope.actionTypes = [ { "ActionType

我不确定为什么selectedAction=='Complete'部分不能正常工作。div没有显示,但是我可以看到span标记中的{{selectedAction}}显示为“complete”

select正在正确填充

当我查看dom时,不完整的文本周围似乎有前导和尾随空格。actionTypes的JSON如下所示,所以我不确定空白是从哪里来的。不知道如果我需要修剪什么,或者我在这里忽略了什么

    $scope.actionTypes = [
           { "ActionTypeID": 1, "ActionText": "Incomplete" },
           { "ActionTypeID": 2, "ActionText": "Complete" }
    ];

<select class="form-control form-small-auto" style="width:100%" data-ng-model="selectedAction">
          <option data-ng-repeat="action in actionTypes">
               {{action.ActionText}}
          </option>
</select>

<span>
     {{selectedAction}}  --- this shows 'Incomplete'
</span>

'This div is not showing
<div style="padding-top: 5px;" data-ng-show="selectedAction == 'Incomplete'">

</div>
jsIDLE:

您需要从标记中定义value属性,否则浏览器将使用该标记的内容作为值,在这种情况下,内容将包括空格和分隔线\n。这就是文本不匹配的原因

<option data-ng-repeat="action in actionTypes" value="{{action.ActionText}}">
  {{action.ActionText}}
</option>
您需要从标记中定义值属性,否则浏览器将使用该标记的内容作为值,在这种情况下,内容将包括空格和分隔线\n。这就是文本不匹配的原因

<option data-ng-repeat="action in actionTypes" value="{{action.ActionText}}">
  {{action.ActionText}}
</option>
您可以通过使用ng选项而不是ng repeat on来修复此问题,以便AngularJs自动管理值和标签:

<select style="width:100%" data-ng-model="selectedAction" ng-options="action.ActionText as action.ActionText for action in actionTypes">
就个人而言,我更喜欢选择整个对象,而不是用于表示它的标签:

<select style="width:100%" data-ng-model="selectedAction" ng-options="action as action.ActionText for action in actionTypes">
...
{{selectedAction.ActionText}}
...
<div data-ng-show="selectedAction.ActionText == 'Incomplete'">
您可以通过使用ng选项而不是ng repeat on来修复此问题,以便AngularJs自动管理值和标签:

<select style="width:100%" data-ng-model="selectedAction" ng-options="action.ActionText as action.ActionText for action in actionTypes">
就个人而言,我更喜欢选择整个对象,而不是用于表示它的标签:

<select style="width:100%" data-ng-model="selectedAction" ng-options="action as action.ActionText for action in actionTypes">
...
{{selectedAction.ActionText}}
...
<div data-ng-show="selectedAction.ActionText == 'Incomplete'">

是否要上载JSFIDLE示例SelectedAction显示“不完整”,包括单引号?不包括引号。只是不完整,前后都有一堆空白after@maxedevAngularJS在{{}内插值作用域变量时将处理空白。您应该用提琴发布完整的代码。是否上载JSFIDLE示例SelectedAction显示“不完整”,包括单引号?不包括引号。只是不完整,前后都有一堆空白after@maxedevAngularJS在{{}内插值作用域变量时将处理空白。您应该用fiddle发布完整的代码。@maxedev必须声明value属性的原因是使用了错误的指令ng repeat。您需要使用ng options指令。请参见@Plantface answer。@maxedev必须声明value属性的原因是使用了错误的指令ng repeat。您需要使用ng options指令。请参见@Plantface答案。