I einen Winkelregler mit einem temporären Objekt currentExpense
JavaScript, ein Objekt-Konstruktor TestExpense
und Array TestExpenses
, auf die neu erstellte Objekte TestExpense
werden über eine Funktion submitExpenses
geschoben werden. Der Code für diese ist wie folgt:ng-Modell setzt JavaScript Objekteigenschaft Array
$scope.currentExpense = {
employeeId: 9,
date: '',
account: '',
task: '',
expenseType: '',
expenseCategory: '',
notes: '',
amount: ''
};
function TestExpense(employeeId, date, account, task, expenseType,
expenseCategory, notes, amount) {
this.employeeId = employeeId;
this.date = date;
this.account = account;
this.task = task;
this.expenseType = expenseType;
this.expenseCategory = expenseCategory;
this.notes = notes;
this.amount = amount;
}
$scope.TestExpenses = [];
$scope.submitExpenses = function() {
$scope.TestExpenses = [];
$scope.TestExpenses.push(
new TestExpense(
$scope.currentExpense.employeeId,
$scope.currentExpense.date,
$scope.currentExpense.account,
$scope.currentExpense.task,
$scope.currentExpense.expenseType,
$scope.currentExpense.expenseCategory,
$scope.currentExpense.notes,
$scope.currentExpense.amount
)
);
console.log($scope.TestExpenses);
};
Eine Nutzung von ng-model
aus meiner Sicht wie folgt:
<select multiple="" class="form-control" ng-model="currentExpense.expenseType"
ng-options="task.expenseTypeId as task.expenseTypeTitle for task in ExpenseTypes" required>
</select>
Und hier sind die relevanten ExpenseType
Konstruktor und ExpenseTypes
Array:
function ExpenseType(expenseTypeId, expenseTypeTitle) {
this.expenseTypeId = expenseTypeId;
this.expenseTypeTitle = expenseTypeTitle;
}
$scope.ExpenseTypes = [];
Mein Problem ist, dass beim Protokollieren der Objekte in der TestExpenses
Array, ich sehe Arrays für die expenseType
Pro perty:
TestExpense
account:"a"
amount:""
date:""
employeeId:9
expenseCategory: Array[1]
0: 2
length:1
__proto__:Array[0]
expenseType:Array[1]
0:4
length:1
__proto__:Array[0]
notes:""
Mein Ziel ist die expenseType
Eigenschaft einfach 4
es ist wird derzeit anstelle des Arrays haben eingestellt.
Jeder Rat, wie dies zu erreichen ist, ist sehr willkommen!
Alle Plunkr oder jsFiddle es in Aktion zu sehen? – malix