저는 첫 번째 녹아웃 프로젝트에서 약간의 지침을 사용할 수 있습니다. 지금까지 내 서비스에서 내보기 모델 내 기본 클래스를 채울 수 있지만 데이터를 사용할 수 있지만 선택 목록 상자를 바인딩 할 및 컨트롤을 예상대로 바인딩 할 노력하고있어. 이제는 선택 목록 데이터를 가져 와서 양식을 채울 수 있지만 적절한 색인을 선택하지는 않습니다.ViewModel에 녹아웃 매핑 목록을 선택하십시오.
귀하의 관심을 매우 환영합니다! 여기
// Initialized the namespace
var Namespace = {};
// View model declaration
Namespace.initMemberVM = function (model) {
var memberViewModel = {
Id: ko.observable(model.Id),
Married: ko.observable(model.Married),
Name: ko.observable(model.Name),
SalutationId : ko.observable(model.SalutationId),
Salutation: ko.observable(Namespace.salutations[model.SalutationId]),
Salutations: Namespace.salutations
};
return memberViewModel;
};
Namespace.initSalutations = function (model) {
console.log('called initSalutations');
Namespace.salutations = ko.mapping.fromJS(model);
};
// Bind the member
Namespace.bindData = function (model) {
// Create the view model
var viewModel = Namespace.initMemberVM(model);
ko.applyBindings(viewModel);
};
$(document).ready(function() {
Namespace.getSalutations();
Namespace.getMember(1);
});
는 AJAX 호출
[{"Id":1,"Name":"Mr","IsMarried":false,"TimeStamp":"2012-11-27T21:49:10.583"},{"Id":2,"Name":"Mrs.","IsMarried":true,"TimeStamp":"2012-11-27T21:49:10.583"},{"Id":3,"Name":"Ms","IsMarried":false,"TimeStamp":"2012-11-27T21:49:10.583"},{"Id":4,"Name":"Miss","IsMarried":false,"TimeStamp":"2012-11-27T21:49:10.583"}]
을에서 반환 된 데이터이며, 여기에 HTML을
<table>
<tbody>
<tr><td>User Id</td><td colspan="4"><label data-bind="text: Name"></label></td></tr>
<tr>
<td>Salutation</td><td><select data-bind="options: Salutations, value: Id, optionsText: 'Name'"></select></td>
</tr>
<tr>
<td></td><td>First</td><td>Middle</td><td>Last</td>
</tr>
<tr>
<td>Name</td><td><input type="text" data-bind="value: FName"></td><td><input type="text" data-bind="value: MName"></td><td><input type="text" data-bind="value: LName"></td>
</tr>
</tbody>
업데이 트를하다 : 조금 더 파고 후 내가 관찰 한 내 선택에 올바른 인덱스가 들어 있지 않은 이유는 b/c Namespace.salutations 배열이 팝이 아니라는 것입니다. 그 값을 내 memberViewModel로 설정하려고 할 때 뮬
관리 방법에 대한 안내를 보내 주시면 감사하겠습니다.
업데이트 : ViewModel을 작성했기 때문에 접근 방법을 수정하여 데이터를 가져올 수 있습니다. 서버 쪽에서 내 주요 개체와 선택 목록에 대한 지원 데이터를 가져올 수 있습니다. 이 방법으로 통화 수가 줄어들지 만 여러 사람이 여러 번 ajax 호출을 수행하는 방법을 설명 할 수 있는지 알고 싶습니다. 또한 스티브에게 감사를 표합니다! –
전체 소스 코드를 게시 할 수 있습니까? getSalutations 및 getMember 메소드가 수행하는 작업을 볼 수 없습니다. http://jsfiddle.net/ 샘플이 가장 좋을 것입니다. –
기쁜 소식! 여기에 (대부분) 작동 코드가있는 바이올린이 있습니다. http://jsfiddle.net/poundingCode/ST6hj/1/ 내 드롭 다운을 채울 수 있지만 대부분이 b/c라고 말하면 볼 수 있듯이 wijmo의 스타일링을 사용하지 않습니다. –