使用knockout.js在数组中的每个项下添加滑块

使用knockout.js在数组中的每个项下添加滑块,knockout.js,Knockout.js,` var data={Name:“测试”, 项目:[“样本1”、“样本2”、“样本3”、“设计”] }; 函数视图模型(数据){ var self=这个; 自我保存=可观察(假); self.Name=ko.observable(data.Name); self.Items=ko.observearray(ko.utils.arrayMap(data.Items,function(item)){ 返回{value:ko.observable(item)}; })); self.addItem

`

var data={Name:“测试”,
项目:[“样本1”、“样本2”、“样本3”、“设计”]
};
函数视图模型(数据){
var self=这个;
自我保存=可观察(假);
self.Name=ko.observable(data.Name);
self.Items=ko.observearray(ko.utils.arrayMap(data.Items,function(item)){
返回{value:ko.observable(item)};
}));
self.addItem=function(){self.Items.push({value:ko.observable(“”});};
self.removietem=函数(数据){
删除(数据);
};
self.SaveItem=function(){self.Items.push({value:ko.observable(“”});};
self.SaveItem=函数(数据){
//self.Items.save(数据);
自我保存(真);
};
}
$(document).ready(function(){ko.applyBindings(newviewmodel(data));
$(“#滑块”).slider();
});

姓名:
项目:添加项目
拯救

下面我给你一些代码来做你想做的事情:使用class属性识别div,根据它进行选择,并对每个div进行jqueryui滑块调用。我给你这个解决方案,因为你显然只是在学习,这是一种基本的工具

但是,这并不是一种使用淘汰功能构建应用程序的好方法。

在Knockout中,除非您正在编写一个应用滑块小部件的正确方法,否则您不会使用jQuery来提取DOM片段并对其进行操作。如果你还没有通过考试,我敦促你这样做。然后在上面和的链接中阅读有关自定义绑定处理程序的内容

通过实验学习有它的地位,但最好从更结构化的演示中积累基础知识

var数据={
名称:“测试”,
项目:[“样本1”、“样本2”、“样本3”、“设计”]
};
函数视图模型(数据){
var self=这个;
自我保存=可观察(假);
self.Name=ko.observable(data.Name);
self.Items=ko.observearray(ko.utils.arrayMap(data.Items,function(item)){
返回{
价值:可观察到的ko(项目)
};
}));
self.addItem=函数(){
self.Items.push({
价值:可观察到的价值(“”)
});
};
self.removietem=函数(数据){
删除(数据);
};
self.SaveItem=函数(){
self.Items.push({
价值:可观察到的价值(“”)
});
};
self.SaveItem=函数(数据){
//self.Items.save(数据);
自我保存(真);
};
}
$(文档).ready(函数(){
应用绑定(新视图模型(数据));
$(“.slider”).each(函数(){
$(this.slider();
});
});

姓名:
项目:
添加项
拯救

多个项目具有相同的
id
是无效的。我猜您正在使用jQuery将滑块附加到该div,希望它将附加到所有,但按id查找元素只能找到一个。好的,我展示了完整的示例。是的,我正在使用jQuery将滑块附加到div,它只显示在第一个下方。我想我需要把它绑定到所有的人身上。我试着使用一个跨度,但也不起作用。有什么建议吗?