는 기본적으로, 내가 무엇을 달성하려고하는 Knockout.jsKnockout.js는 (옵션을 선택
내보기 코드에서 다른 드롭 다운 메뉴의 값에 따라 드롭 다운을 채울 것입니다와 함께 사용하기 위해 배열을 반환 관찰 계산하기) 분명히 제거 :
<div data-bind="with: chosenMailData">
<table id="tabl-1234" class="mails">
<thead><tr><th>Destination</th><th>Hotel</th></tr></thead>
<tbody data-bind="template: { name: 'iti-template', foreach: objects, afterRender: $root.myPostProcessingLogic }">
</table>
</div>
<script type="text/html" id="iti-template">
<tr>
<td><select class="desti" data-bind="options: $root.destinations, value: destination.name"></select></td>
<td><select data-bind="options: $root.generall(), value: $root.generall()"></select></td>
</tr>
</script>
내보기 - 모델 (다시 제거 다운) :
self.destinations=['Kerela', 'Shoghi, Himachal Pradesh', 'Kasauli, Himachal Pradesh'];
self.myPostProcessingLogic = function(elements) {
this.generall = ko.computed(function() {
$('.desti').each(function(i, obj) {
stayOptions = [];
$.getJSON("http://127.0.0.1:8000/api/hotel?format=json&location__name="+obj.value, function(data) {
$.each(data.objects, function(i, item){
stayOptions.push(item.name);
});
});
});
return stayOptions;
}, this);
}
이 삽입은 this.generall()
에 alert()
그쪽을 보여줍니다 t stayOptions
에 원하는 값이 입력됩니다. 문제가되는 호텔 열의 해당 행에 대한 선택 옵션에 표시되도록 배열을 가져옵니다.
아마도 나는 정말로 바보 같은 실수를하고 있습니다. 그러나 나는 오랫동안 코드를보고 있었고 아무 것도 떠오르지 않았습니다. 제발 조언.
편집 : 내 뷰 - 모델의 시작 부분에 너무이 일을하고있다 : 메서드를 호출 할 때는
self.generall = ko.observableArray();
놀랍지 만 빠른 답변에 감사드립니다. 나는 일종의 Knockout (이전에 백본을 사용함)에서 일종의 일종이며, 상황에 대한 내 자신의 길을 찾기 위해 때때로 도움이 필요합니다. 바라건대, 언젠가는 코딩과 디버깅만큼이나 좋을 것입니다. 다시 한번 감사합니다 :) – HSG