角度dropmenu问题

时间:2015-04-24 10:55:25

标签: javascript jquery angularjs

我正在尝试将信息从下拉菜单传递到var中,并且不知道下一步。

Jsfiddle

var myApp = angular.module('myApp', []);

var nextVXPLevelValue = 260;
var currentLevel = 10;

var VXP = [2.41, 2.50, 1.80, 1.56, 1.43, 1.35, 1.30, 1.26, 1.23, 1.20, 1.1, 1.17, 1.16, 1.14, 1.13, 1.13, 1.12, 1.11, 1.11, 1.10, 1.10, 1.09, 1.09, 1.08, 1.08];
var i;
var vxpResult = [];
var iResult = [];

for (i = 0 + (currentLevel + 1); i < VXP.length; i++) {
    nextVXPLevelValue *= VXP[i];
    vxpResult.push(Math.floor(nextVXPLevelValue));
    iResult.push(i + 1);
}


function MyCtrl($scope) {
    $scope.level = iResult;
    $scope.vxp = vxpResult;
}

function TheController($scope) {

    $scope.Levels = [
        {LevelId : 50, LevelName : '--Select Level--'}, 
        {LevelId : 0, LevelName : 'Level 0' },        
        {LevelId : 1, LevelName : 'Level 1' },
        {LevelId : 2, LevelName : 'Level 2' },
        {LevelId : 3, LevelName : 'Level 3' },        
        {LevelId : 4, LevelName : 'Level 4' },
        {LevelId : 5, LevelName : 'Level 5' }, 
        {LevelId : 6, LevelName : 'Level 6' },
        {LevelId : 7, LevelName : 'Level 7' },
        {LevelId : 8, LevelName : 'Level 8' },        
        {LevelId : 9, LevelName : 'Level 9' },
        {LevelId : 10, LevelName : 'Level 10' },
        {LevelId : 11, LevelName : 'Level 11' },
        {LevelId : 12, LevelName : 'Level 12' },
        {LevelId : 13, LevelName : 'Level 13' },        
        {LevelId : 14, LevelName : 'Level 14' },
        {LevelId : 15, LevelName : 'Level 15' }, 
        {LevelId : 16, LevelName : 'Level 16' },
        {LevelId : 17, LevelName : 'Level 17' },
        {LevelId : 18, LevelName : 'Level 18' },        
        {LevelId : 19, LevelName : 'Level 19' },
        {LevelId : 20, LevelName : 'Level 20' },  
        {LevelId : 21, LevelName : 'Level 21' },
        {LevelId : 22, LevelName : 'Level 22' },
        {LevelId : 23, LevelName : 'Level 23' },        
        {LevelId : 24, LevelName : 'Level 24' },
        {LevelId : 25, LevelName : 'Level 25' },
  ];

    $scope.LevelId =50;

}

据我所知,但我现在要更改手册

  

var currentLevel = 10;

是我拥有的下拉菜单的结果。请有人帮忙吗

2 个答案:

答案 0 :(得分:0)

示例代码:http://jsfiddle.net/024ucmtL/1/

将您的代码全部移动到一个控制器中。然后将currentLevel暴露给$ scope $scope.currentLevel = 10

然后,您可以将select元素的ng-model绑定到currentLevel,并在$ scope.currentLevel上使用$ watch来监视它的更改。 $ scope.currentLevel随时更改您的$ scope.vxp。

$scope.$watch('currentLevel', function(newValue, oldValue) {
  // your vxp calculations here.  This code should set $scope.vxp at the end.
});

答案 1 :(得分:0)

使用ng-change知道下拉值何时更改并手动更新其中的currentLevel非范围变量。 See the updated fiddle here