如何将变量名转换为对象jQuery的索引字符串

how to convert variable name into index string of object jquery

本文关键字:jQuery 索引 字符串 对象 变量名 转换      更新时间:2023-09-26

当我根据输入表单形式的内容进行循环时我将属性名称用作数据的选择器元素和对象索引数组,但索引是变量名称

如何在对象数组上从变量名转换为字符串索引 的数据?

它旨在使表单中的输入可以从对象数组中自动填充数据

var data = {
  id: "4",
  Model: "804",
  Description: "AXIAL SETTER,100MM, MAGNETIC BASE"
};
var names = [];
if ($('#form').length == 1) {
  $('#form :input').each(function() {
    names.push($(this).attr('name'));
  });
  $.each(names, function(key, value) {
    $('[name="' + value + '"]').val(data.value);
    //value should be change with name, 
    //for example  :
    // $('name="Description"').val(data.Description);
  });
}
<form action="#" id="form" class="form-horizontal">
  <input type="hidden" name="id" />
  <br/>
  <input type="text" name="Model" placeholder="Model Of product" />
  <br/>
  <input type="text" name="Description" placeholder="Description Of product" />
  <br/>
  <button type="submit" class="btn-save">save</button>
</form>

无需对相同的数据运行两次。您可以简单地这样做来填写您的表格:

var data = {
  id: "4",
  Model: "804",
  Description: "AXIAL SETTER,100MM, MAGNETIC BASE"
};
if ($('#form').length == 1) {
  $('#form :input').each(function() {
    if (typeof data[$(this).attr('name')] != 'undefined'){
        $(this).val(data[$(this).attr('name')]);
    }
  });
}

看看 https://jsfiddle.net/nfq22d9r/1/

代码遍历所有表单输入字段,检查字段名称是否作为数据对象中的键存在,并将字段值设置为数据对象中的字段值(如果找到该键)