1

我试图在 onchange 事件上调用一个函数,但每次该函数都会出现参考错误,我的 fromtend 代码是这样的:

        <label class="item item-input item-select" ng-controller="manageTeam">
            <div class="input-label">
                Select Form
            </div>
            <select onchange="goToFormDashboard($(this).children(':selected').val())" ng-model="Formname" ng-options="f.Formname for f in forms track by f.Formid"></select>
        </label>

我的控制器是这样的:

.controller('manageTeam', function($scope, $ionicLoading, $http, $timeout, $rootScope, $state) {
    $scope.goToFormDashboard = function (formId) {
        $ionicLoading.show({template: 'Loading'});
        $timeout(function () {
            $ionicLoading.hide();
        }, 1500);
        var formID = formId;
        $scope.form.length = 0;
        .....

有什么遗漏吗?

4

2 回答 2

2

您需要使用ng-change指令并且不需要在这里使用jquery,您可以获得里面的值ng-modelFormname包含整个对象,您只能通过执行Formname.FormidgoToFormDashboard方法来传递表单ID。

标记

<select ng-change="goToFormDashboard(Formname.Formid)" ng-model="Formname" 
ng-options="f.Formname for f in forms track by f.Formid"></select>
于 2015-05-26T13:36:35.593 回答
0

在 JavaScript 中,“this”表示调用实际方法的函数。例子:

var myObject = function();
myObject.prototype.testvar = "hello world";
myObject.prototype.test = function(){ 
  return this.testvar;
}
var obj = new myObject();
console.log(obj.test());

这将在您的 chrome 控制台中显示“hello world”。您不需要将下拉列表的值传递给提交处理程序。看看

Angular JS:将表单的选择选项值作为参数传递给 ng-submit="doStuff()"

这正是您正在寻找的

于 2015-05-26T13:20:23.483 回答