Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Knockout.js 如何将复选框值绑定到对象上的淘汰ObservalArray?_Knockout.js_Ko.observablearray - Fatal编程技术网

Knockout.js 如何将复选框值绑定到对象上的淘汰ObservalArray?

Knockout.js 如何将复选框值绑定到对象上的淘汰ObservalArray?,knockout.js,ko.observablearray,Knockout.js,Ko.observablearray,我有这样的想法: var ScheduleDay = function(day, times) { var self = this; self.day = ko.observable(day || ""); self.times = ko.observableArray(times || []); }; function viewModel() { var self = this; self.schedule = ko.observableArray([

我有这样的想法:

var ScheduleDay = function(day, times) {
    var self = this;
    self.day = ko.observable(day || "");
    self.times = ko.observableArray(times || []);
};

function viewModel() {
    var self = this;
    self.schedule = ko.observableArray([
        new ScheduleDay("Monday"),
        new ScheduleDay("Tuesday"),
        new ScheduleDay("Wednesday"),
        new ScheduleDay("Thursday"),
        new ScheduleDay("Friday"),
        new ScheduleDay("Saturday"),
        new ScheduleDay("Sunday")
    ])
}

ko.applyBindings(new viewModel());

<input id="mondaySchedule" type="checkbox" data-bind="checked ???">

一周中的每一天我都有三个复选框:上午、下午和晚上。我想要一个类似于以下内容的模型:{星期一:[上午,下午],星期二:[下午],等等。}

由于您在评论中指定了您的问题,我建议看一下这个简单的标记,它将满足您的要求:

<ul data-bind="foreach: schedule">
    <li>
        <strong data-bind="text: day"></strong>
        <input type="checkbox" data-bind="checked: times" value='morning' /> Morning
        <input type="checkbox" data-bind="checked: times" value='afternoon' /> Afternoon
        <input type="checkbox" data-bind="checked: times" value='evening' /> Evening
    </li>
</ul>

工作示例:

由于您在评论中指定了您的问题,我建议看一下这个简单的标记,它可以满足您的要求:

<ul data-bind="foreach: schedule">
    <li>
        <strong data-bind="text: day"></strong>
        <input type="checkbox" data-bind="checked: times" value='morning' /> Morning
        <input type="checkbox" data-bind="checked: times" value='afternoon' /> Afternoon
        <input type="checkbox" data-bind="checked: times" value='evening' /> Evening
    </li>
</ul>

工作示例:

该复选框用于存储二进制值true/false、yes/no或集合中的一个值。您的times属性initialy包含一个空数组,因此将此可观察对象绑定到复选框是没有意义的。你能提供更多关于你想要得到什么的细节吗?为什么一组中只有一个值?单选按钮不是更合适吗?一周中的每一天我都有三个复选框:上午、下午和晚上。我想要一个类似这样的模型:日程表:{星期一:[上午,下午],星期二:[下午],等等。}是的,每个复选框只显示给定三个值中的一个值。查看我的答案。请编辑您的问题以添加此重要信息。此复选框用于存储二进制值true/false、yes/no或一组中的一个值。您的times属性initialy包含一个空数组,因此将此可观察对象绑定到复选框是没有意义的。你能提供更多关于你想要得到什么的细节吗?为什么一组中只有一个值?单选按钮不是更合适吗?一周中的每一天我都有三个复选框:上午、下午和晚上。我想要一个类似这样的模型:日程表:{星期一:[上午,下午],星期二:[下午],等等。}是的,每个复选框只显示给定三个值中的一个值。查看我的答案。请编辑您的问题以添加此重要信息。