如何使用dom选择器作为对象中的值迭代对象,然后使用它们来设置值?

阿加瓦尔(Parth Agarwal)

因此,我有一个函数将从数据库返回的对象作为参数。我想在表单中显示对象的值。我为每个要为其设置值的DOM选择器创建了一个键值对。以下是相关代码:

function paintForm(item) {
    let form = {
        id: '',
        name: document.getElementById('name'),
        category: document.getElementById('category'),
        subcategory: document.getElementById('subcategory'),
        price: document.getElementById('price'),
        quantity: document.getElementById('quantity'),
        stock: document.getElementById('stock'),
        operation: document.getElementById('operation'),
        amount: document.getElementById('amount'),
        log: document.getElementById('log')
    }

    Object.keys(item).forEach(key => {
        let formItem = form[key]
        formItem.setAttribute('value', item[key].toString())
    })
}

函数(项目)的传递参数

{
    id: 'asdiu12189ascjo',
    name: 'Nano',
    category: 'Microcontrollers',
    subcategory: 'Arduino',
    price: 250,
    quantity: 20,
    log: ['a', 'b', 'c', 's']
},

这是我尝试过的:

内部HTML

Object.keys(item).forEach(key => {
    form[key].innerHTML = item[key].toString()
})

Object.keys(item).forEach(key => {
    form[key].value = item[key].toString()
})

我的理解

使用Object[key]将对象的值带到其对应的键。现在,我不确定是否必须输入该值。我认为该值必须存储为字符串然后进行解析?但是我发布了这篇文章,因为我认为有更好的方法来处理表单值。

我对JS不太熟悉,我只是试图从框架切换到纯js。因此,请不要将我引至库或框架。感谢您的帮助,并在此先感谢大家的贡献。:)

安比安

正如Udo E.在评论中正确指出的那样,如果所有input fields value属性都是属性,那就是走的路:如果有的话,formItemas上添加一个验证undefined

Object.keys(item).forEach(key => {
          let formItem = form[key];
          if (formItem) {
            formItem.value = item[key].toString();
          }
        });  

如果formItem返回undefined,那么整个循环就是浪费?绝对没有。if条款仅仅是一些元素,这不是在发现了一个额外的检查DOM通过document.getElementByIdform对象。所以,如果将阻止你分配value到的东西formItem.value是没有被发现。在您的情况下考虑一下,因为输入字段和表单对象本身是预定义的,并且formItem总是可以在wrt找到idif子句可能不是必需的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 acumatica 中,如何获取选择器的值并使用它来填充另一个字段?

jQuery输入值作为添加内容的选择器。然后使用输入值作为附加内容

如何使用多个jquery对象变量作为选择器?

如何在两个文件中查找两个匹配的ID,然后使用它们的值来计算

如何在Pandas groupby对象中过滤1个值并使用它来计算新列?

如何使用JavaScript在HTML DOM对象数组中通过数据选择器查找元素?

使用日期选择器设置值

如何从“ Excel”中读取“日期”值,然后使用“ Selenium WebDriver”将该值发送到“日期选择器”中

设置引导数据选择器对象的值

如何使用选择器过滤`each`中的cheerio对象?

jq:如何使用多个选择作为值重塑为对象?

JavaScript通过使用另一个对象作为选择器来深度删除对象属性

在 jQuery 中使用数据属性对象作为选择器

在Thymeleaf中,如何基于当前模型对象为HTML选择器选择th:selected值?

在python中的对象值上使用迭代

有没有一种优雅的方法来检查对象中是否存在键和值,然后使用它?

在CSS中使用元素的属性值作为选择器

如何使用name属性作为选择器从此对象num属性获取数据

如何使用JavaScript变量值作为对象选择器

如何使用 css 选择器选择这个 svg 对象?

如何在继承的类中设置父类变量的值,然后在继承的函数中使用它?

使用对象作为属性值来反应选择选项

在选择器中使用它们之前,请在SCSS中剥离hashtag变量?

如何选择一个对象,使用它的子级数组值。

使用NGXS选择器获取特定对象并在模板中使用它

如何使用子列表作为键和父对象作为值来映射列表

如何使用jQuery更改CSS选择器值的值?

Python,如何使用列表中输入的项目并使用它们来分配另一个值?可能吗

无论如何在飞镖中使用颜色选择器作为模板使用它