我有一個下拉列表,當用戶從下拉列表中選擇任何選項時,每個選擇都會出現一個文本框。 HTML的將動態文本框中的數據發送到AngularJS控制器
<select id="nut">
<option>---select---</option>
<option value="N1">N1</option>
<option value="N2">N2</option>
<option value="N3">N3</option>
<option value="N4">N4</option>
</select>
<div id="holder"></div>
<input type="submit" value="save" ng-click="savedata()"/>
Javascript成爲
$("#nut").change(function() {
val = $(this).val();
var ctr = '<input type="text" name="' + val + '"/>';
$('#holder').append(ctr);
});
現在我想用在點擊保存按鈕的AngularJS控制器在數據庫中插入所有這些文本框的值在新行。
我知道如何通過使用data-ng-model綁定表單元素數據來爲常規表單元素執行此操作。但是當沒有時如何實現這一點。的表單元素是可變的。
我試着這樣做,
var ctr = '<input type="text" name="data.' + val + '" data-ng-model="data.' + val + '"/>';
<input type="submit" data-ng-click="savedata(data)"/>
AngularJS控制器 -
.controller('testController', function ($scope, $http, $location) {
$scope.savedata = function (data) {
debugger;
alert($scope.data);
}
})
但是這給數據爲未定義的值。 那還有什麼可以做的?
當您的頁面加載完成後,鏈接階段結束,因此IU認爲您使用JQuery動態創建的輸入無法與Angular綁定。你可以實現你的需求,但它不會是直線和角度推薦的方式。 – davidxxx