我想激活兩個選項有值的選項,例如。 <option value='...'>...</option>
使用Knockoutjs。Knockoutjs <select>基於另一個<select>不工作
然後它會根據第一個選擇字段中的所選值填充第二個選擇字段選項。
僅供參考,我找到了http://knockoutjs.com/examples/cartEditor.html,但這並不使用optionsValue,所以它沒有幫助。
這是我的觀點:
<select data-bind="options: list,
optionsCaption: 'Select...',
optionsText: 'location',
optionsValue: 'code',
value: selectedRegion">
</select>
<!-- ko with : selectedRegion -->
<select data-bind="options: countries,
optionsCaption: 'Select...',
optionsText: 'location',
optionsValue: 'code',
value: $parent.selectedCountry">
</select>
<!-- /ko -->
這是我的觀點:
var packageData = [
{
code : "EU",
location: 'Euprope',
countries : [
{ location: "England", code: 'EN' },
{ location: "France", code: 'FR' }
]
},
{
code : "AS",
location: 'Asia',
countries : [
{ location: "Korea", code: 'KO' },
{ location: "Japan", code: 'JP' },
]
}
];
function viewModel(list, addons) {
this.list = list;
this.selectedRegion = ko.observable();
this.selectedCountry = ko.observable();
}
ko.applyBindings(new viewModel(packageData));
如果上面跑,我得到下面的JS錯誤。
Uncaught ReferenceError: Unable to parse bindings.
Bindings value: options: countries,
optionsCaption: 'Select...',
optionsText: 'location',
optionsValue: 'code',
value: $parent.selectedCountry
Message: countries is not defined
上述工作,如果我輸了「optionsValue:‘代碼,’行,我認爲(一個第一選擇字段,另一個用於第二選擇字段但是,這不填充選項值,這是不是我想。
例如,<option value>...</option>
而不是<option value="[country code]">...</option>
。
能有人幫我如何可以解決我的代碼,所以我得到<option value="[country code]">...<option>
?
非常感謝提前。
非常感謝。 – user2975436