Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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
Javascript ng select上的更改引发错误_Javascript_Angularjs_Function_Angularjs Ng Change - Fatal编程技术网

Javascript ng select上的更改引发错误

Javascript ng select上的更改引发错误,javascript,angularjs,function,angularjs-ng-change,Javascript,Angularjs,Function,Angularjs Ng Change,HTML <tr dir-paginate="sale in payments | itemsPerPage: 6"> <td>{{sale.date}}</td> <td>{{sale.transaction_id}}</td> <td>{{sale.artist_details.seller_num}}

HTML

            <tr dir-paginate="sale in payments | itemsPerPage: 6">
                <td>{{sale.date}}</td>
                <td>{{sale.transaction_id}}</td>
                <td>{{sale.artist_details.seller_num}}</td>
                <td>{{sale.artist_details.name}}</td>
                <td>{{sale.exc_vat}} Kr</td>
                <td>{{sale.total_price}}</td>
                <td><select ng-change="released()" ng-options="released.item  for released in releasedSeller.options" ng-model="released" ></select><span>{{released.item}}</span></td>
            </tr>

我正在使用ng change调用selectbox中的函数。但我可以获取选项数据,它正在包装控制器,我在这里从控制器获取付款数据。我在app.js(ui路由器)中提到了控制器,但当我选择某个选项时,它抛出了一个错误,如下所示

angular.js:13236 TypeError: v2.released is not a function
at fn (eval at compile (angular.js:14086), <anonymous>:4:215)
angular.js:13236 TypeError:v2.released不是函数
在fn(编译时求值(angular.js:14086),:4:215)
  • 确保控制器包装了html代码
  • 检查您的代码是否如下所示
  • 确保你的应用程序/控制器包含在index.html中
var-app=angular.module('app',[]);
应用程序控制器('DemoCtrl',函数($scope){
$scope.items=[{
'name':'a'
}, {
'name':'b'
}, {
“name”:“c”
}, {
“name”:“d”
}];
$scope.showSelected=函数(){
$scope.selectedItem=$scope.itemModel;
};
});

所选项目:{{selectedItem}

我认为您使用的是ng控制器作为语法,因此此错误即将发生v2.released不是一个函数


在html文件中将v2.released更改为just released,因为您正在绑定“released”变量中的选定值,这将在范围内创建一个新变量,并覆盖您在控制器中编写的旧“released”(函数)

错误方式:

ng change=“released()”

ng model=“已发布”

正确的方法:

ng change=“released()”

ng model=“selectedReleased”



我想这就是导致错误的原因。

您可以编辑您的问题并添加更多代码吗?可能您没有为该元素设置ng控制器,但如果没有更多代码,我无法确定您是否已将$scope.release覆盖为其他类型。请共享您的html和控制器。您是否将控制器中$scope的别名更改为v2。released显示错误。请添加代码。我已编辑问题,请检查一件事以确保控制器是否包装为
$scope。releasedSeller
数据位于函数之后,但是数据是在选择框中获取的,但函数不是调用的。我没有使用这里发布的v2。请检查上面的代码。我使用的是刚刚发布的代码,看起来很好,很干净,我想知道你的代码中一定有v2。我肯定,我的代码中没有v2。我刚刚将我的代码直接发布到这里,v2实际上被解析器引用为当前作用域。是的,它看起来只是这样,控制器包装了html代码,因为所有其他的东西都在工作。是的,包括控制器是的,这就是导致错误的原因,谢谢。它现在起作用了
angular.js:13236 TypeError: v2.released is not a function
at fn (eval at compile (angular.js:14086), <anonymous>:4:215)
<select ng-change="released()" ng-options="released.item  for released in releasedSeller.options" ng-model="selectedReleased" ></select>