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

时间:2012-06-19 09:26:05

标签: javascript jquery

我有一个数组,里面有一些数据。此数组包含id,firstname,lastname,email,phone。我还有五个表单输入元素。现在我想在这些元素中添加数组中的数据。例如,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]);
        //}
    });
}

2 个答案:

答案 0 :(得分:2)

如果数据数组中的值与表单中的值的顺序相同,则可以执行此操作

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]; }); }; 实现此目标

{{1}}

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

答案 1 :(得分:0)

el - &gt; ARR:

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

arr - &gt; EL:

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