如果数组的值为空,如何显示错误

How to Show error if value of an array is empty

提问人:user9260781 提问时间:8/22/2023 最后编辑:Rohìt Jíndaluser9260781 更新时间:8/29/2023 访问量:87

问:

Array = {
  0 : { NAME: 'A' , PET :'DOG' , AGE : 'NINE' },  
  1 : { NAME: 'B' , PET :'CAT' , AGE : 'TEN' },  
  2 : { NAME: 'C' , PET :'TURTLE' , AGE : '' }  
}

[HTML格式]:

<option ng-repeat='data in array' value="data.NAME"> {{data.PET}} </option>

因此,如果选择了第二个(索引)选项,然后单击保存按钮。我想显示一个错误,说年龄为空。

我只能访问 Name,因为 :selected 中带有 val() 的值和带有 text() 的 PET

如果年龄为空,如何显示错误

JavaScript HTML 数组 angularjs 下拉列表

评论

3赞 The Head Rush 8/22/2023
首先,你需要一个数组。变量是一个对象。Array
0赞 Zak 8/22/2023
你不能只使用三元吗?-->{ (!data.Age) ? <>Show Your Error</> : <>Other Thing to do </> }
0赞 user9260781 8/22/2023
@TheHeadRush是的。它是一个对象。在js中从python获取后看起来像这样
0赞 user9260781 8/22/2023
@Zak如何获取data.age是下拉的问题。因此,在js中,我选择了选项值,其中(#idofoption).val()和.text()data.pet都来了 data.name。如何获取所选选项的 data.age

答:

0赞 Rohìt Jíndal 8/24/2023 #1

几点观察

  • 你的变量不是在保存数组,而是在保存一个对象。Array

  • 应更改语法以处理对象的对象。ng-repeat

    <option ng-repeat="(key, value) in Array" value="value.NAME">
      {{value.PET}}
    </option>
    

提交时,您可以根据此选定值 () 检查对象中的字段值。AGEArrayvalue.NAME

现场演示

const obj = {
    0 : { NAME: 'A' , PET :'DOG' , AGE : 'NINE' },
    1 : { NAME: 'B' , PET :'CAT' , AGE : 'TEN' },
    2 : { NAME: 'C' , PET :'TURTLE' , AGE : '' }
}

const selectedValue = 'C';

Object.keys(obj).forEach(key => {
    Object.keys(obj[key]).forEach(innerObjKey => {
    if (innerObjKey === 'NAME' && obj[key][innerObjKey] === selectedValue) {
        !obj[key].AGE ? console.log('Age not found!') : console.log('Age found!')
    }
  })
})