我在客户名单表格上有一个按钮。在单击特定行编辑按钮时,我想在编辑窗口中显示详细信息。
如何将客户ID传递给弹出窗口?
<button data-bind="click: $root.edit"> Edit</button>
答案 0 :(得分:0)
我不太确定&#34;在编辑窗口中显示细节&#34;位 - 这一切都取决于&#34;编辑窗口&#34;意味着在您的代码的上下文中。也许你可以创建一个&#34;编辑窗口&#34; observableArray
中每位客户的对话框,并在点击时切换其可见性。 G_S's suggestion要有某种&#34; selectedCustomer&#34;可观察也听起来是个好主意。
至于传递客户ID,我做了一点JSFiddle演示了如何做到这一点。
<强> HTML:强>
<h3>Click a row to obtain a customer's id:</h3>
<div data-bind="foreach: customers">
<div data-bind="click: $root.selectCustomer" class="person">
<div>Customer Name: <span data-bind="text: name"></span>
</div>
<div>Customer Age: <span data-bind="text: age"></span>
</div>
<div>Customer ID: <span data-bind="text: id"></span>
</div>
</div>
</div>
<强> JS:强>
var vm = function () {
this.customers = ko.observableArray([{
name: "Jim",
age: "40",
id: "1"
}, {
name: "Jack",
age: "20",
id: "2"
}, {
name: "Jill",
age: "30",
id: "3"
}]);
this.selectCustomer = function (customer) {
alert(customer.id);
};
};
ko.applyBindings(new vm);
在此代码中,整个Customer对象将传递给selectCustomer(),并且可以修改所有Customer属性。