我希望能够添加一个新元素,并使用ng-bind属性更改新元素的值。
我已经尝试了多种方法,请参阅下面的代码,以获取我能提供的最佳信息。
$(document).ready(function() {
$("#create-input").click(function() {
var newInput = document.createElement("p");
var code = document.createElement("span");
code.innerHTML = "{{input2}}";
newInput.innerHTML = "<p>{input2}: <input type='text' ng-model='name2'>  {{name2}}</p>";
$("#target-container").append(newInput);
$("#main-container").append(code);
});
});
当我在新添加的输入中添加文本时,添加的{{name2}}
值不会更改。我不明白为什么附加后无法通过文本输入框更改{{name2}}
。
答案 0 :(得分:1)
使用ng-repeat
指令将输入元素添加到DOM:
angular.module("app",[])
.controller("ctrl",function($scope) {
$scope.arr=[
{name: "name1", value: ""}
];
$scope.addInput = function() {
$scope.arr.push( {
name: "name" + ($scope.arr.length+1),
value: ""
})
};
})
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app="app" ng-controller="ctrl" >
<div ng-repeat="elem in arr">
{{elem.name}}:
<input ng-model="elem.value">
</div>
<button ng-click="addInput()">Add Input</button>
<div>{{arr}}</div>
</body>