0
目標:賦予用戶調整映射結果的能力。敲除交叉類數據綁定
我遇到了一個問題,我需要實際更改使用數據綁定元素的實例。免責聲明:我的json數據結構可能已關閉,我可以對其進行修改。我正在編寫一個表頭映射應用程序,以便用戶可以驗證服務器映射的標題是否正確。如果出現問題,用戶將能夠映射標題。當選擇菜單改變時,我無法弄清楚如何實際更新綁定到結果的數據。感覺它應該是非常容易的。我一直髮現自己有基本完成的淘汰賽應用少最後一步......
標記段:
<div id="wrapper" data-bind="foreach: headings">
<h1>Bind from this</h1>
<select data-bind="value: selectMenuIdVal, event: { change: updateListing }">
<option> </option>
<!-- ko foreach: $root.headings -->
<option data-bind="value: $data.CC_FIELD_ID, visible: $data.VENDOR_FIELD_NAME(), text: $data.VENDOR_FIELD_NAME"></option>
<!-- /ko -->
</select>
<h1>To this</h1>
<ul data-bind="foreach: listingFields">
<li data-bind="text: $data.VALUE"></li>
</ul>
</div>
KO段:
var Heading = function(data) {
var self = this;
var heading = ko.mapping.fromJS(data, {}, this);
heading.selectMenuIdVal = ko.observable(heading.CC_FIELD_ID());
// heading.listingFields gets mapped by the mapping plugin
this.updateListing = function(ko_evt, js_evt) {
//TODO
// Get the listing results from the value of the select menu
// self.listingFields(those listings);
}
return heading;
}
這裏是我的小提琴:http://jsfiddle.net/breck421/SLT9B/1/
謝謝達米安。這非常有幫助。 –