我有我想在checkbox.The数据以显示数据有一个布尔条件“Y” /“N”。 我的问题是复选框输入只接受真/假。 有没有办法来改变,而不是真/假我希望它接受“Y” /“N”复选框的值;
样本数据:
[{
"id": 1,
"value": "0.59"
}, {
"id": 2,
"value": "N"
}, {
"id": 3,
"value": "LOW"
}, {
"id": 4,
"value": "HIGH"
}, {
"id": 5,
"value": "Y"
}]
你可以这样做更有效率,但是这是描述解决问题的最明确的方式,并可以很容易地读/实施/扩大。 我已经包含在其中的值写入出文档,以便你可以看到这个动作底部的链接到plnkr。 我已删除了这里的代码执行document.write输出:
当你在获取你的数据:
const data = [{
"id": 1,
"value": "0.59"
}, {
"id": 2,
"value": "N"
}, {
"id": 3,
"value": "LOW"
}, {
"id": 4,
"value": "HIGH"
}, {
"id": 5,
"value": "Y"
}]
通过阵列中的对象进行迭代,如果它们是Y或N值,再加入与适当的真/假值和绑定到与您的复选框一个的booleanValue键。
for (var i=0; i<data.length; i++) {
if (data[i].value == "Y") {
data[i].boolValue = true
} else if (data[i].value == "N") {
data[i].boolValue = false
}
}
当你保存数据(能见度删除Y / N值,他们仍然会在你的数据):
const submitData = [{
"id": 1,
"value": "0.59"
}, {
"id": 2,
"boolValue": true
}, {
"id": 3,
"value": "LOW"
}, {
"id": 4,
"value": "HIGH"
}, {
"id": 5,
"boolValue": false
}]
通过阵列中的对象进行迭代,如果它们是真或假值,然后将该值设置键到适当的Y / N值。
for (var i=0; i<submitData.length; i++) {
if (submitData[i].boolValue == true) {
submitData[i].value = "Y"
} else if (submitData[i].boolValue == false) {
submitData[i].value = "N"
}
}
https://plnkr.co/edit/DrAvyMV5BqADhLdTTn6M?p=preview
文章来源: Custom Value of Checkbox 'Y'/'N' instead of true/false. Angular 2