AngularJS函数更新json字符串值失败
AngularJS function fails update with json string value
我已经用ng-repeat
创建了下拉菜单,但是如果json是字符串,我的函数将失败。但如果是整数,它也可以正常工作。
这里有一个例子
正如你们所看到的,图表可以通过年份选择下拉菜单上传。我相信因为数据是整数,例如"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>
我认为@charlietfl的意思是,你应该把字符串转换成数字。
$scope.sampleDropDown = function(){
myChart.data = getData(data, parseInt($scope.selectedyear), parseInt($scope.quarter));
myChart.draw(500);
}
在我看来,这个错误似乎更多地与myChart有关。draw than Angular。
相关文章:
- 如何避免JSON.stringify在特殊情况下返回undefined,从而为JSON.parse创建字符串失败
- 当字符串包含 HTML 标记时,JSON 解析失败
- 在页面加载时获取查询字符串值失败
- 字符串测试失败
- 使用 match 匹配某些字符串,正则表达式失败
- 为什么这个字符串比较在Jest的期望中没有失败
- 为什么当我使用变量而不是整数或字符串时初始化日期对象失败
- 字符串比较 JavaScript 中的失败
- 在 Javascript 中将带有空格的字符串数组转换为小写,然后在 Webkit 中搜索它们失败
- 在 JavaScript 中将字符串转换为 int 失败
- 错误=字符串.$variable - 失败
- 尝试追加 html 字符串失败与 jQuery
- 字符串解析、JSON Stringify 和 GSON 日期解析失败
- 更新文档,但出现错误:对于未定义的值,强制转换为字符串失败
- PHP Regex失败,'&'字符串;在javascript中(正确地)传递
- jquery/javascript文件验证2字符串编译(文件扩展)失败
- 字符串replace()失败
- 查询字符串URL的Javascript URL验证失败
- Javascript 正则表达式匹配一些字符串,但在其他看似相同的字符串上失败
- 查询字符串功能失败