【问题标题】:Calling function on dropdown AngularJS在下拉AngularJS上调用函数
【发布时间】:2017-01-27 04:32:54
【问题描述】:

我现在发生了一个有趣的场景,这让我很困惑,这个问题最初是为那些熟悉 Angular UI Grid 的人准备的。不过,欢迎您回答。

我有一个 UI 网格,我通过网格本身中的一个单独的 html 页面调用下拉菜单,因为下拉列表值会动态变化。现在我将这个 drop 的 ng-model 设置为ng-model="row.entity.someValue",这将是从带有field: 'someValue' 的网格中获得的 $scope.someDate.someValue 的值。我手头的问题是在选择后我无法触发函数调用,我正在避免 id="" 调用,因为我希望代码保持一致并且不使用 getElementById 调用。我已经尝试过 ng-selected、ng-change 甚至 ng-class (知道它不起作用)我想要做的是用所选值作为参数触发一个函数,但我无法触发该函数。我在这里错过了什么?

这是我想要实现的相同代码:

 <div>
    <select ng-model="row.entity.someValue" class="dropdownWidth" ng-selected="someFunction(selectedValue)" >
        <option ng-repeat="selectedValue in grid.appScope.someArray" value={{selectedValue}}>{{selectedValue}}</option>
    </select>
</div>

更新下面回答

【问题讨论】:

  • 可悲的是,这仍然对我的情况没有帮助。我什至只是尝试使用 document.getElementById 但这也失败了......我很好奇 ui 网格是否阻止函数调用在选择选择后触发。
  • 如果 ng-change 不起作用可能是您的问题出在其他地方。分享更多代码,或者更好地分享一下。
  • 我实际上发现了我的问题,我忘记将函数称为 grid.appScope.someFunction(row.entity.someValue) 因为我将网格单元的值作为外部范围变量进行关联跨度>

标签: javascript angularjs user-interface ui-grid


【解决方案1】:

答案就在我面前,但我一直忘记。每次在控制器外部调用网格单元时,您总是将grid.appScope 应用于与单元格值有关的任何事情

就我而言,我只是打电话给ng-selected="someFunction(selectedValue)",而实际上我应该打电话给ng-selected="grid.appScope.someFunction(row.entity.someValue)"。现在它完美运行了,希望这个场景对未来的任何人都有用!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 2021-11-21
    相关资源
    最近更新 更多