我要解决的问题是:通过在 jquery onclick 事件之后解析 json 对象数组来填充单选列表。当有一个选中的选项时,我已经绑定了一个剔除属性,但这只会将当前选定选项的名称放在 observable 中。我想填写shipOption
名称(现在可以使用),但也想要shipCost
. formatcurrency 只是一个辅助函数,可以方便地显示它。
我的淘汰赛和 js 代码:
$(document).ready(function () {
var shipOptions = [];
function ovm() {
var self = this;
self.shippingOptions = ko.observableArray(shipOptions);
self.shipOption = ko.observable();
self.shipCost = ko.observable();
}
window.vm = new ovm();
ko.applyBindings(vm);
我的 HTML:
<table style="width: 60%;" data-bind="foreach: shippingOptions">
<tr>
<td><label><input name="shipmentoptions" type="radio" data-bind="value: Name, checked: $parent.shipOption" /><span data-bind="text: Name"></span></label></td>
<td>€ <span data-bind="text: formatCurrency(Costs())"></span></td>
<td><img data-bind="attr: { src: Picture }"/></td>
</tr>
</table>
ps 我使用的是knockout 2.3,我使用映射插件来填充shipoptions数组中的json对象