Knockout Cart示例,Drop Down所选信息

时间:2014-02-22 06:19:32

标签: javascript jquery knockout.js

http://jsfiddle.net/descending/adNuR/2523/

所以这是Knockout Js Car Editor示例,我添加了一个东西,Get Info链接。当用户点击获取信息时,我需要能够添加项目并获取该行的选定项目。

我怎么能实现这个目标?我很难过

var CartLine = function () {
    var self = this;
    self.category = ko.observable();
    self.product = ko.observable();
    self.quantity = ko.observable(1);
    self.subtotal = ko.computed(function () {
        return self.product() ? self.product().price * parseInt("0" + self.quantity(), 10) : 0;
    });

    // Whenever the category changes, reset the product selection
    self.category.subscribe(function () {
        self.product(undefined);
    });
};

2 个答案:

答案 0 :(得分:1)

CartLine添加方法以获取信息:

self.getInfo = function () {
    var category = self.category() ? self.category().name : "";
    var product = self.product() ? self.product().name : "";
    alert(category + ": " + product + ": " + self.quantity());
}

将其绑定到点击事件...

<a href='#' data-bind='click: getInfo'>Get Info</a>

小提琴:http://jsfiddle.net/adNuR/2524/

答案 1 :(得分:0)

制作新方法

self.getInfo=function(d){
   alert("Category is "+d.category().name+" and product is"+d.product().name+" and quantity is "+d.quantity());
}

并在html中添加此绑定

<a href='#' data-bind='click:$parent.getInfo,visible: product'>Get Info</a>

http://jsfiddle.net/adNuR/2525/

上的工作示例