我的问题非常简单:我有一个如下复选框列表:

<div class="form-group">
    <label for="options">Options :</label>
    <label *ngFor="#option of options" class="form-control">
        <input type="checkbox" name="options" value="option" /> {{option}}
    </label>
</div>

And I would like to send an array of the selected options, something like: [option1, option5, option8] if options 1, 5 and 8 are selected. This array is part of a JSON that I would like to send via an HTTP PUT request.

谢谢你的帮忙!

推荐答案

I have find a solution thanks to Gunter! Here is my whole code if it could help anyone:

<div class="form-group">
            <label for="options">Options :</label>
            <div *ngFor="#option of options; #i = index">
                <label>
                    <input type="checkbox"
                           name="options"
                           value="{{option}}"
                           [checked]="options.indexOf(option) >= 0"
                           (change)="updateCheckedOptions(option, $event)"/>
                    {{option}}
                </label>
            </div>
        </div>

以下是我正在使用的3个对象:

options = ['OptionA', 'OptionB', 'OptionC'];
optionsMap = {
        OptionA: false,
        OptionB: false,
        OptionC: false,
};
optionsChecked = [];

And there are 3 useful methods:

1.要启动optionsMap,请执行以下操作:

initOptionsMap() {
    for (var x = 0; x<this.order.options.length; x++) {
        this.optionsMap[this.options[x]] = true;
    }
}

2. to update the optionsMap:

updateCheckedOptions(option, event) {
   this.optionsMap[option] = event.target.checked;
}

3.在发送POST请求之前,将optionsMap转换为optionsChecked并存储在options中:

updateOptions() {
    for(var x in this.optionsMap) {
        if(this.optionsMap[x]) {
            this.optionsChecked.push(x);
        }
    }
    this.options = this.optionsChecked;
    this.optionsChecked = [];
}

Json相关问答推荐

Azure Devops Pipeline:SON字符串变量丢失所有双引号

JOLT转换,将属性复制到同级别的dict中

与错误相关的未定义&Quot;不是有效的JSON

我发现GoFr响应总是包含在数据字段中,如何返回自定义响应?

使用Jolt v.0.1.1向每个json元素添加一个键-值对

将PNG图像保存为Python中的JSON文件

使用JQ将JSON输出转换为CSV复杂 struct

Golang jsonrpc2 服务器在哪里监听?

使用动态语言jQuery:根据匹配模式提取与其他值匹配的值

JOLT分裂和数组数据

如何使用 JOLT 将带有列表的 JSON 项目取消列出为多个项目?

Jolt 规范将父对象中的所有键应用于数组中的所有对象

Angular 2/Web Api - json 解析错误语法错误意外结束输入

单元测试球衣 Restful Services

json和空数组

JSON.NET JsonConvert 与 .NET JavaScriptSerializer

如何在 swift 2 中获取 Alamofire.request().responseJSON 的结果值?

杰克逊在通用列表中读取 json

在 .NET 中缩小缩进的 JSON 字符串

如何在 JAVA 中对 JSONArray 进行排序