如何在表单输入元素内的数组中插入数据

how to insert data in array inside form input elements

本文关键字:数组 插入 数据 元素 表单 输入      更新时间:2023-09-26

我有一个数组,里面有一些数据。此数组包含 ID、名字、姓氏、电子邮件、电话。我还有五个表单输入元素。现在我想在这些元素中添加数组中的数据。例如,ID 应插入 ID 表单字段中,名称应插入名称输入元素等。我该如何实现这一点?

这是我的代码

insert_data_in_form: function(data) {
    var form = $("#dataform");
    var form_arr = new Array();
    form.each(function(i) {
        var form_el = form.children("input[type='textfield']");
        form_arr.push(form_el);
        console.log(data.length);
        //for(var j = 0; j < 5; j++) {
            form_el.val(data[i]);
        //}
    });
}

如果数据数组中的值与它们在表单中的顺序相同,那么您可以执行此操作

insert_data_in_form: function(data) {
    var formElems = $("#dataform input[type='text']");
    formElems.each(function(i,elem) {
        $(this).val(data[i]);
        // or even better use the following faster way 
        // if they are always text boxes
        // this.value = data[i];
    });
}

演示:http://jsfiddle.net/joycse06/AJhEW/

更新(替代方式):

您也可以使用 Implicit Looping.val() 函数的.val(function(index,val)变体来实现这一点,如下所示

var insert_data_in_form =  function(data) {
    var formElems = $("#dataform input[type='text']");
    formElems.val(function(i) {
       return data[i];
    });
};

演示:http://jsfiddle.net/joycse06/AJhEW/2/

el -> arr:

form_arr[form_el.attr('name')] = form_el.val();

arr -> el:

form_el.val(form_arr[form_el.attr('name')]);