复选框“Y”的自定义值/“N”,而不是真/假。 2角(Custom Value of Check

2019-09-29 04:36发布

我有我想在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"
}]

Answer 1:

你可以这样做更有效率,但是这是描述解决问题的最明确的方式,并可以很容易地读/实施/扩大。 我已经包含在其中的值写入出文档,以便你可以看到这个动作底部的链接到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
标签: angular