如何更改每个附加文本Angularjs

时间:2016-01-12 02:52:01

标签: javascript jquery angularjs

我没有使用追加事件正确获得结果,而是在添加每个名称时使用ng-repeat。你能帮我解决一下如何从一个输入字段中更改添加的每个名字。告诉我不使用ng-repeat因为ng-repeat功能对我的进一步运行功能不起作用,你可以使用jquery或javascript解决这个问题,如果不使用ng-repeat就可以。提前致谢.. Here is JSBin



var app = angular.module('myapp', ['ngSanitize']);

app.controller('AddCtrl', function ($scope, $compile) {

    $scope.my = {name: 'untitled'};
       $scope.add_Name = function (index) {
        var namehtml = '<label ng-click="selectName($index)">{{my.name}} //click<br/></label>';
        var name = $compile(namehtml)($scope);
        angular.element(document.getElementById('add')).append(name);
    };
   
    $scope.selectName = function (index) {
        $scope.showName = true;
    };

});
&#13;
<!DOCTYPE html>
<html ng-app="myapp">

<head>
	<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-beta.2/angular.min.js"></script>
	<script src="https://code.angularjs.org/1.5.0-rc.0/angular-sanitize.min.js"></script>
</head>

<body ng-controller="AddCtrl">
	<button ng-click="add_Name($index)">Add Names</button>
	<div id="add"></div><br/>

	<form ng-show="showName">
      <label>Name Change(?)</label><br/>
	  <input ng-model="my.name">
	</form>
</body>

</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

如果我理解你正在寻找的东西,这应该有用。

HTML:

<body ng-controller="AddCtrl">
 <button ng-click="add_Name()">Add Names</button>
 <div ng-repeat="item in names">
  <label ng-click="selectName($index)">{{$index}}- {{item}} //click to change<br/></label>        
 </div>

 <form ng-show="showName">
  <label>Name Change at index {{nameIndex}}</label><br/>
  <input ng-model="names[nameIndex]">
 </form>
</body>

JS:

$scope.names = [];

$scope.add_Name = function(index){
 $scope.names.push('untitled')
}

$scope.selectName = function (index) {
    $scope.nameIndex = index;
    $scope.showName = true;
};
相关问题