Задать вопрос
NiceIce
@NiceIce
lamer

Как сократить скрипт по копированию value в другие инпута(~8 к инпутов)?

Здравствуйте, есть у меня задача переносить валуе инпута в другие инпута по нажатию на кнопку
вообшем вот код:
гвнкд
var v1  = $('.forses1 .fors .inha1 ').val();
                var v2  = $('.forses1 .fors .inha2 ').val();
                var v3  = $('.forses1 .fors .inha3 ').val();
                var v4  = $('.forses1 .fors .inha4 ').val();
                var v5  = $('.forses1 .fors .inha5 ').val();
                var v6  = $('.forses1 .fors .inha6 ').val();
                var v7  = $('.forses1 .fors .inha7 ').val();
                var v8  = $('.forses1 .fors .inha8 ').val();
                var v9  = $('.forses1 .fors .inha9 ').val();
                var v10 = $('.forses1 .fors .inha10').val();
                var v11 = $('.forses1 .fors .inha11').val();
                var v12 = $('.forses1 .fors .inha12').val();
                var v13 = $('.forses1 .fors .inha13').val();
                var v14 = $('.forses1 .fors .inha14').val();
                var v15 = $('.forses1 .fors .inha15').val();
                var v16 = $('.forses1 .fors .inha16').val();
                var v17 = $('.forses1 .fors .inha17').val();
                var v18 = $('.forses1 .fors .inha18').val();
                var v19 = $('.forses1 .fors .inha19').val();
                var v20 = $('.forses1 .fors .inha20').val();
                var v21 = $('.forses1 .fors .inha21').val();
                var v22 = $('.forses1 .fors .inha22').val();
                var v23 = $('.forses1 .fors .inha23').val();
                var v24 = $('.forses1 .fors .inha24').val();
                var v25 = $('.forses1 .fors .inha25').val();
                var v26 = $('.forses1 .fors .inha26').val();
                var v27 = $('.forses1 .fors .inha27').val();
                var v28 = $('.forses1 .fors .inha28').val();
                var v29 = $('.forses1 .fors .inha29').val();
                var v30 = $('.forses1 .fors .inha30').val();
                $('#aa1').val(v1);
                $('#aa2').val(v2);
                $('#aa3').val(v3);
                $('#aa4').val(v4);
                $('#aa5').val(v5);
                $('#aa6').val(v6);
                $('#aa7').val(v7);
                $('#aa8').val(v8);
                $('#aa9').val(v9);
                $('#aa10').val(v10);
                $('#aa11').val(v11);
                $('#aa12').val(v12);
                $('#aa13').val(v13);
                $('#aa14').val(v14);
                $('#aa15').val(v15);
                $('#aa16').val(v16);
                $('#aa17').val(v17);
                $('#aa18').val(v18);
                $('#aa19').val(v19);
                $('#aa20').val(v20);
                $('#aa21').val(v21);
                $('#aa22').val(v22);
                $('#aa23').val(v23);
                $('#aa24').val(v24);
                $('#aa25').val(v25);
                $('#aa26').val(v26);
                $('#aa27').val(v27);
                $('#aa28').val(v28);
                $('#aa29').val(v29);
                $('#aa30').val(v30);

                var vb1  = $('.forses1 .fors .inhb1 ').val();
                var vb2  = $('.forses1 .fors .inhb2 ').val();
                var vb3  = $('.forses1 .fors .inhb3 ').val();
                var vb4  = $('.forses1 .fors .inhb4 ').val();
                var vb5  = $('.forses1 .fors .inhb5 ').val();
                var vb6  = $('.forses1 .fors .inhb6 ').val();
                var vb7  = $('.forses1 .fors .inhb7 ').val();
                var vb8  = $('.forses1 .fors .inhb8 ').val();
                var vb9  = $('.forses1 .fors .inhb9 ').val();
                var vb10 = $('.forses1 .fors .inhb10').val();
                var vb11 = $('.forses1 .fors .inhb11').val();
                var vb12 = $('.forses1 .fors .inhb12').val();
                var vb13 = $('.forses1 .fors .inhb13').val();
                var vb14 = $('.forses1 .fors .inhb14').val();
                var vb15 = $('.forses1 .fors .inhb15').val();
                var vb16 = $('.forses1 .fors .inhb16').val();
                var vb17 = $('.forses1 .fors .inhb17').val();
                var vb18 = $('.forses1 .fors .inhb18').val();
                var vb19 = $('.forses1 .fors .inhb19').val();
                var vb20 = $('.forses1 .fors .inhb20').val();
                var vb21 = $('.forses1 .fors .inhb21').val();
                var vb22 = $('.forses1 .fors .inhb22').val();
                var vb23 = $('.forses1 .fors .inhb23').val();
                var vb24 = $('.forses1 .fors .inhb24').val();
                var vb25 = $('.forses1 .fors .inhb25').val();
                var vb26 = $('.forses1 .fors .inhb26').val();
                var vb27 = $('.forses1 .fors .inhb27').val();
                var vb28 = $('.forses1 .fors .inhb28').val();
                var vb29 = $('.forses1 .fors .inhb29').val();
                var vb30 = $('.forses1 .fors .inhb30').val();
                $('#ab1').val(vb1);
                $('#ab2').val(vb2);
                $('#ab3').val(vb3);
                $('#ab4').val(vb4);
                $('#ab5').val(vb5);
                $('#ab6').val(vb6);
                $('#ab7').val(vb7);
                $('#ab8').val(vb8);
                $('#ab9').val(vb9);
                $('#ab10').val(vb10);
                $('#ab11').val(vb11);
                $('#ab12').val(vb12);
                $('#ab13').val(vb13);
                $('#ab14').val(vb14);
                $('#ab15').val(vb15);
                $('#ab16').val(vb16);
                $('#ab17').val(vb17);
                $('#ab18').val(vb18);
                $('#ab19').val(vb19);
                $('#ab20').val(vb20);
                $('#ab21').val(vb21);
                $('#ab22').val(vb22);
                $('#ab23').val(vb23);
                $('#ab24').val(vb24);
                $('#ab25').val(vb25);
                $('#ab26').val(vb26);
                $('#ab27').val(vb27);
                $('#ab28').val(vb28);
                $('#ab29').val(vb29);
                $('#ab30').val(vb30);

Все переменные сталые кроме класса forses1, он будет нумероваться до forses24( в одном около 380 инпутов) и копировать такое 24 раза не охота(в примере половина кода, но хватает для примера).

Помогите сократить скрипт так как сам додуматься не могу...
Спасибо!
  • Вопрос задан
  • 236 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 3
sanek_os9
@sanek_os9
Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
Замена первых 30 строчек
for(i = 1; i < 30; i++){
 var v + i = $('.forses1 .fors .inha' + i).val();
}

остальные меняй как китаец
Ответ написан
Deonisius
@Deonisius
Родился в 11110110111 году, 11000 января.
Если схема classN => idN у вас стабильная, то в принципе можно так сделать:
var dependence = {
        inha: 'aa',
        inhb: 'ab'
    },
    allInput = $(':text'),
    inpFrom = allInput.filter(function(i, el) {
        return $(el).closest('[class^=forses]').length;
    });
$('button').on('click', function() {
    $.each(inpFrom, function(i, el) {
        var cls = el.className.match(/([a-z]+)([\d]+)/);
        if (dependence.hasOwnProperty(cls[1])) {
            allInput.filter('#' + dependence[cls[1]] + cls[2]).val(el.value);
        }
    });
});
Добавляйте только в объект dependence любые зависимости между классами и ID (значение без чисел).

P.S. А вообще, я согласен с Stalker_RED .
я етим денги не зарабатываю, ет для себя

Даже, если вы чините машину для себя, а не другим за деньги, то это вас не избавит от изучения её устройства.
Ответ написан
Комментировать
@balamyt92
; select * from users; --
Ну, допустим так. Но это то все равно говно, а не код.
var v = [];
for(i = 1; i <= 30; i++){
 v[i] = $('.forses1 .fors .inha' + i).val();
 $('#aa' + i).val(v[i]);
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Да что же ты делаешь, ты с марта копируешь одинаковые строчки, и с каждым разом их все больше и больше. Выброси это всё и почитай про массивы и циклы. Тогда и копирование будет происходить в три строчки кода и вообще проще будет поддерживать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы