【问题标题】:how to insert data in array inside form input elements如何在表单输入元素内的数组中插入数据
【发布时间】:2012-06-19 09:26:05
【问题描述】:

我有一个数组,里面有一些数据。该数组包含 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]);
        //}
    });
}

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    如果数据数组中的值与表单中的值顺序相同,则可以这样做

    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(function(index,val).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/

    【讨论】:

      【解决方案2】:

      el -> arr:

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

      arr -> el:

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

      【讨论】:

        猜你喜欢
        • 2012-04-14
        • 2012-07-11
        • 1970-01-01
        • 1970-01-01
        • 2021-07-24
        • 2020-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多