我搜索了高和低,並沒有完全找到答案,我回答我的問題,所以我希望我沒問題。在KnockoutJS中填充基於先前選擇的選擇菜單的選擇菜單
我正在學習Knockout JS,我試圖在Wordpress插件中使用它。我試圖從外部API中提取數據,然後根據這些數據填充菜單<select>
。
這是可以正常使用,但我跑進問題是填充與秒<select>
菜單之前選擇的對象的pricing_parameters
。
從我收集的內容中,我可以將optionsValue
設置爲對象的其中一個屬性,如serviceId
或serviceName
。我嘗試設置它serviceParams
但是返回[object Object]
。
此外,是不是會禁止我顯示serviceName
的第一個<option>
選中?如果是這樣,處理這些信息的正確方法是什麼,以便它可以在多個領域使用?
下面是一個例子響應:(的jsfiddle它下面)
{"services":[{
"id":1,
"code":"A",
"name":"Service 1",
"price":110.0,
"hourly":false,
"maids_minimum":1,
"maids_maximum":1,
"hours_minimum":1,
"hours_maximum":1,
"extras":[{
"id":1,"name":"Extra 1","price":10.0,"quantity_based":true
},{
"id":2,"name":"Extra 2","price":20.0,"quantity_based":false
}],
"pricing_parameters":[{
"id":1,"name":"Example pricing parameter","price":12.0,"quantity_minimum":1,"quantity_maximum":3
}]
},{
"id":2,
"code":"B",
"name":"Service 2",
"price":35.0,
"hourly":true,
"maids_minimum":1,
"maids_maximum":3,
"hours_minimum":2,
"hours_maximum":4,
"extras":[],
"pricing_parameters":[]
}]}
這裏是一個JSFiddle。
哇的變化,這是如此簡單,我簡直不敢相信。我花了幾個小時在這!如果可能,你能否詳細說明#2?我不確定我是否遵循。 – Ellenbrook
很高興我可以幫助...所以在你的小提琴中,我看到你說「<! - ko with:serviceSelected() - >」...所以任何數據綁定在該範圍內( ... 將直接訪問serviceSelected上的觀察值,所以你沒有說「serviceSelected()。serviceParameters」。框架將解釋爲「serviceSelected.serviceSelected().serviceParameters」是否有意義? –
這是非常有道理的。把select和serviceSelected配對,剩下的就暗示了,天哪,你真是一個救命的人! – Ellenbrook