如何获取ng-options值并在值内部更改时触发函数?

时间:2015-07-19 16:22:03

标签: javascript jquery ajax angularjs

我有一个示例代码,我需要加载ajax数据,我正在调用第三方APIS,并且url里面有一个变量参数。变量参数应该来自select下拉列表的ng-options,但是它不起作用,我在构造url时获得值的undefined值。

网址变成这样:

https://thirdparty.example.pub/releases/' +值+' / measure,

然而,当ajax调用结束时,url变为

https://thirdparty.example.pub/releases/undefined/measures

如果我更改选择选项,请指导我如何更改网址。

我的小提琴在这里,请看控制台:

http://jsbin.com/nalisugaxa/edit?html,js,output

2 个答案:

答案 0 :(得分:1)

我克隆了js bin:

http://jsbin.com/cuxizoduha/1/edit?html,js,console,output

该值未定义,因为当您创建网址时,不会为值分配任何内容。此外,您没有将选择的更改链接到控制器功能。

以下是修订版:

$scope.getValues = function(value){
theFactory.getValues(value).then(
  function(data) {
     $scope.features = data;
     console.info(data);
  });  
};

答案 1 :(得分:0)

'getValues'被定义为一个带有名为'value'

的参数的函数
getValues:function(value) { .... }

但是当你打电话给你时,你没有传递任何'价值'(参数缺失)的功能因此它未定义。

$scope.features = theFactory.getValues();

您必须将从下拉列表中选择的值传递给此函数调用,然后才能正常工作。