0
我在嘗試使用敲除綁定到select時遇到了一些麻煩。綁定敲除選擇值到鍵/值數組
我想對長相結合像
{
"SomeProperty": 1,
"Attributes": [
{
"name": "EmailId",
"value": "1111"
},
{
"name": "Something",
"value": "223"
},
{
"name": "SomethingElse",
"value": "19999"
},
{
"name": "IsActive",
"value": true
}
],
}
我的選擇數據綁定正確的數據源和我得到的選項正確填充
<select class="form-control"
data-bind="options: $root.types,
optionsText: 'Key',
optionsValue: 'Value',
// value:1111,
value: $root.helperText($data.Attributes(), 'EmailId'),
optionsCaption: 'Please Select...'">
</select>
最後幫助我嘗試設置選定的值看起來像
self.helperText = ko.computed({
read: function(attributesToSearch, idToSearchBy) {
debugger
return "";
},
write: function(attributesToSearch, idToSearchBy){
if (attributesToSearch != undefined) {
debugger
$.grep(attributesToSearch, function(e) {
if (e.name() == idToSearchBy) {
return e.value();
}
return null;
});
}
}
});
現在我沒有得到任何問題而代碼邏輯似乎正常工作,但沒有返回值。
我已經試過
<span data-bind="value:$root.helperText($data.Attributes(), 'EmailId')"></span>
但是沒有任何回報,我在做一些愚蠢的錯誤嗎?
任何幫助將是非常有益的
可以讓我們與您的問題小提琴。我沒有得到的一件事就是爲什麼你的值綁定就像下拉菜單一樣,你不能簡單地捕獲選定的值,即'value:$ data.someobservable' – 2015-02-12 07:25:55
你不能像這樣使用'computed'。 'read'函數應該是一個沒有參數的函數,'write'函數應該只有一個參數(新值)。查看[這部分文檔](http://knockoutjs.com/documentation/computed-writable.html)。 – Jeroen 2015-02-12 12:41:09
無論如何,爲了能夠幫助你,我必須使用第二個@supercool:我們需要一個repro,或者至少是你的視圖模型的代碼。最好創建一個Stack Snippet(它在編輯器工具欄上)來重現您的場景。 – Jeroen 2015-02-12 12:41:59