gpt4 book ai didi

jquery - knockout 列表与无序列表的绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 03:43:16 25 4
gpt4 key购买 nike

我真的是新手,我遇到了列表绑定(bind)的问题。

   var RequiredItemLine = function () {

var self = this;
self.editable = ko.observable(0);
self.desc = ko.observable();
self.key = ko.observable();

self.requireditems = ko.observableArray([
{ desc: "Boarding of exposed wall openings in the vicinity of ...", key: "233" },
{ desc: "Call in manufacturers to initiate repairs on ...", key: "242" },
{ desc: "Call in specialist restorers/recoverers for ...", key: "244" },
{ desc: "Dispatch items for repair (schedule enclosed)", key: "243" },
{ desc: "Drying and cleaning of contents comprising ...", key: "240" },
{ desc: "Drying and protective oiling of water affected equipment", key: "241" },
{ desc: "Drying out of the affected areas of the premises", key: "235" },
{ desc: "Removal and repackaging of stock comprising ...", key: "239" },
{ desc: "Removal of agreed vulnerable contents to a place of safety (schedule enclosed) ", key: "236" },
{ desc: "Segregation of affected and unaffected stock comprising ...", key: "238" },
{ desc: "Temporary covering of roof to reinstate water tight integrity ", key: "234" },
{ desc: "Temporary guarding of affected area", key: "237" },
{ desc: "Temporary shoring of affected structure", key: "232" }]);

self.selectedItem = ko.observable(self.requireditems()[0]);



self.selectedItem.subscribe(function (newValue) {

var li = "<li>" + newValue.desc + "</li>";

$('#items').append(li);


});
};


var RequiredItem = function () {

var self = this;

self.requireditemSelection = ko.observableArray([]); // Put one line in by default


self.requireditemlines = ko.observableArray([]);

// Operations
self.addRequiredItem = function () { self.requireditemSelection.push(new RequiredItemLine()) };
self.RemoveRequiredItem = function (line) { self.requireditemSelection.remove(line) };


};


ko.applyBindings(new RequiredItem());

请看一下这个 fiddle 。 JSFiddle Link ,在页面中包含一个添加选择列表的按钮,当单击按钮时,一个新的选择列表将添加到 DOM 中。当用户从选择列表之一中选择项目时,所选项目应单独显示,并且当用户更改已在 DOM 中显示的所选项目时,必须根据选择进行更改,而不是附加新的 li。

enter image description here

请查看第二张图片,我不想显示另一个列表项,而是我想更改当前添加的项目。 enter image description here

最佳答案

我认为你们非常接近。我不能 100% 确定我是否正确理解了您的问题,我将您的问题解释为“想要在只读列表中显示所有选定的项目”。

请参阅updated fiddle ,我只是将 ul 更改为:

<ul data-bind='foreach: requireditemSelection'>
<li data-bind="text: selectedItem().desc"></li>
</ul>

您不需要手动创建 li 项并将它们添加到 DOM。只需让 KO 为您处理即可,并对只读项目进行数据绑定(bind)。

关于jquery - knockout 列表与无序列表的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16458413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com