首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ng-当选择值更改时,更改不起作用

ng-当选择值更改时,更改不起作用
EN

Stack Overflow用户
提问于 2015-12-04 17:13:53
回答 3查看 4.9K关注 0票数 2

你能帮帮我吗?我不知道这会是什么。

我在页面上使用了一个模板,每个页面都有带有angularJS代码的文件js:

~/内容/脚本/布局/index.js ~/内容/脚本/home/home. ~/内容/脚本/projetos/projetos.js

当下拉值发生变化时,我试图调用一个函数,所以我在部分视图中使用ng更改。

我的页面_Layout:

代码语言:javascript
代码运行次数:0
运行
复制
<html lang="en" class="no-js" ng-app="App">
 ...

<!-- BEGIN CONTENT -->
                <div class="page-content-wrapper">
                    <div class="page-content">
                        @RenderBody()

                        @Scripts.Render("~/bundles/jquery")
                        @RenderSection("scripts", required: false)
                    </div>
                </div>
    <!-- END CONTENT -->

当事件单击菜单出现时,将加载部分视图。

代码语言:javascript
代码运行次数:0
运行
复制
<div ng-cloak ng-controller="ProjetosController" ng-init="init()">
...

<div class="col-md-3">
      <label>Projetos</label>
          <div class="input-icon input-icon-lg">
                <select ng-change="changed()" data-placeholder="selecione..." class="form-control input-lg select2me" ng-model="Projetos"
                       ng-options="proj.Nome for proj in Projetos">
                           <option value=""></option>
                </select>
          </div>

但是,当我查看Chrome的开发工具时,什么都没有发生,任何错误都发生了。

我的控制器c#

代码语言:javascript
代码运行次数:0
运行
复制
public JsonResult LoadProjetos()
        {
            var results = rep.LoadProjetos();//List<Projetos>();

            return Json(new
            {
                projetos = results
            }, JsonRequestBehavior.AllowGet);

        }

我的控制器js

代码语言:javascript
代码运行次数:0
运行
复制
var app = angular.module('App');    
app.controller('ProjetosController', function ($scope, $http) {        
    $scope.init = function () {
        $("#menu").find('li#projetos').addClass("start active");

        $http({
            method: 'GET',
            url: 'Projetos/LoadProjetos'
        }).then(function successCallback(response) {
            var projetos = response.data.projetos;
            $scope.Projetos = projetos;

        }, function errorCallback(response) {
            alert(response);
        });
    }

    $scope.changed = function () {
        alert('text');
    }

});

有什么想法吗?谢谢大家

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-03 20:25:22

很长一段时间后,我找到了解决办法。问题是,因为我的ng-模型的名称与ng-选项相同。我改变了它,工作得很好!

一切都是。

票数 0
EN

Stack Overflow用户

发布于 2015-12-07 17:21:36

尝试这些更改,以便select使用一个$scope变量:

代码语言:javascript
代码运行次数:0
运行
复制
<select ng-change="changed()" data-placeholder="selecione..." class="form-control input-lg select2me" ng-model="selectedItem"
   ng-options="proj.Nome for proj in Projetos">
   <option value=""></option>
</select>

$scope.changed = function () {
     alert($scope.selectedItem);
 }

http://plnkr.co/edit/uUf9ehxQpBSzVgQasTtN?p=info

票数 0
EN

Stack Overflow用户

发布于 2015-12-08 14:11:35

如果您使用的是AngularJS版本1.2.x和最新的Chrome,请参阅以下代码:https://code.google.com/p/chromium/issues/detail?id=565132

更新到1.4.5,这应该是可行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34093848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档