2

配列があり、その中にいくつかのデータがあります。この配列には、id、名、姓、電子メール、電話が含まれます。5 つのフォーム入力要素もあります。これらの要素の配列にデータを追加したいと思います。たとえば、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]);
        //}
    });
}
4

2 に答える 2

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(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/

于 2012-06-19T09:34:28.793 に答える
0

エル -> 到着:

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

到着 -> 終了:

form_el.val(form_arr[form_el.attr('name')]);
于 2012-06-19T09:34:36.187 に答える