javascript - AngularJS 函数无法更新 json 字符串值

标签 javascript angularjs json d3.js

我使用 ng-repeat 创建了下拉菜单,但是如果 json 是字符串,我的函数将失败。但如果它是整数,它就可以正常工作。

HERE IS EXAMPLE

正如你们所看到的,图表将通过年份选择下拉菜单上传。 我相信,因为数据是整数,例如。"year": 2011

我还有季度下拉菜单。使用 "quarter": "1" ,这将无法更新,但是如果我有 "quarter": 2 则效果很好。

<select class="YearSelector" ng-model="selectedyear" ng-change="sampleDropDown()">
      <option ng-repeat="year in filterOptions.stores |  unique: 'year'">
        {{ year.year }}</option>
    </select>
    Quarter:
    <select class="QuarterSelector" ng-model="$parent.quarter" ng-change="sampleDropDown()">
      <option ng-repeat="quarter in filterOptions.stores | unique: 'quarter'">
        {{ quarter.quarter }}</option>
    </select>

我的功能:

 $scope.sampleDropDown = function(){
myChart.data = getData(data, $scope.selectedyear, $scope.quarter);
myChart.draw(500);

}

最佳答案

看起来您的 HTML 标记导致选项值以前导回车符结束。如果添加如下所示的console.log,您就可以看到它:

function getData(data, year, quarter) {
  console.log("year value '" + year + "'") ;

在控制台中您将看到:

"year value '
        2011'"

如果您将 HTML 选项标记更改为全部在一行上,我认为您会很顺利,例如本季度:

<option ng-repeat ...>{{ quarter.quarter }}</option>

此外,您可以使用 Angular's ngOptions而不是 option+ng-repeat 组合。

关于javascript - AngularJS 函数无法更新 json 字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39896997/

相关文章:

javascript - 为什么这个 JSFiddle 不起作用

javascript - JS : handle multiple sequential failed async requests

javascript - 使用 ExtractTextPlugin 将 SASS 转换为 CSS

angularjs - 部署 AngularJS 应用程序之前要做的事情

android - 我无法显示来自 firebase 数据库的实际格式数据

javascript - 从 javascript 函数返回 json 数据

javascript - 如何通过键值获取特定的json数据值

javascript - javascript中的 token 替换

angularjs - Jasmine 测试中无法访问指令范围变量

javascript - 浏览器重新加载时 Angular 运行 Controller 两次