KnockOut 사용 - MVC .Net 코드에 추가하기 전에 마스터 세부 정보/항목 앱의 기초를 작성하려고합니다.KnockOut의 계산 된 기능 문제
이클라이언트 측 녹아웃 뷰 모델은 다음과 같습니다 :
var GiftModel = function(gifts) {
var self = this;
self.gifts = ko.observableArray(gifts);
self.formattedPrice = ko.computed(function() {
var pricet = self.gifts().price;
return pricet ? "$" + pricet.toFixed(2) * (1 + self.gifts().tax : "None";
});
self.addGift = function() {
self.gifts.push({
name: "",
price: "",
tax:0
});
};
self.removeGift = function(gift) {
self.gifts.remove(gift);
};
self.save = function(form) {
alert("Could now transmit to server: " + ko.utils.stringifyJson(self.gifts));
// To actually transmit to server as a regular form post, write this: ko.utils.postJson($("form")[0], self.gifts);
};
};
var viewModel = new GiftModel([
{ name: "Tall Hat", price: "39.95", tax:17.5},
{ name: "Long Cloak", price: "120.00", tax:20}
]);
ko.applyBindings(viewModel);
// Activate jQuery Validation
$("form").validate({ submitHandler: viewModel.save });
및 계산 열의 각 항목에 대한 세금을 포함한 금액을 표시 -
내가하고 싶은 모든 간단한 항목, 가격, 세금을 가지고있다
표 마크 업 : 그것은 작동하는 표시 나던 formattedPrice
함수로 실속 것
<table data-bind='visible: gifts().length > 0'>
<thead>
<tr>
<th>Gift name</th>
<th>Price</th>
<th>Tax</th>
<th />
</tr>
</thead>
<tbody data-bind='foreach: gifts'>
<tr>
<td><input class='required' data-bind='value: name, uniqueName: true' /></td>
<td><input class='required number' data-bind='value: price, uniqueName: true' /></td>
<td><input class='required number' data-bind='value: tax, uniqueName: true' /></td>
<td data-bind='text: formattedPrice'></td>
<td><a href='#' data-bind='click: $root.removeGift'>Delete</a></td>
</tr>
</tbody>
</table>
<button data-bind='click: addGift'>Add Gift</button>
<button data-bind='enable: gifts().length > 0' type='submit'>Submit</button>
.
여기에 jsfiddle이 있습니다. http://jsfiddle.net/marktait/TR6Sy/ -이 겉으로보기에는 단순한 장애물을 극복하는 데 도움이 될만한 사람이 있습니까?
방금 닫는 괄호를 누락 것 같습니다
마크
안녕하세요. 고맙습니다. 나는 선을 추가하고 그것에 무엇이든 변화하는 것이 간단 할 것이라는 점을 생각했다 (ie 텍스트 상자에있는 세금 금액). 그리고 가격 inc 세금은 자동으로 다시 계산 될 것이다. 나는 너무 많이 기대했을지도 모른다. 시간 내 줘서 고마워. – Mark
문제 없습니다. 도와 드리겠습니다! – Jalayn