Возможно, вы ищете эту сжатую версию:
$('#form1,#form2,#form3').each(function () {
var index = this.id.substring(this.id.length - 1, this.id.length);
var stateForm = Object.keys(localStorage).filter(key => key.endsWith('-state' + index));
var stateChoice = JSON.parse(localStorage.getItem(stateForm));
if (localStorage.getItem(stateForm)) {
var theform = $(this).find('.state option').empty();
theform.val(stateChoice)
.append(`<option value="${stateChoice}">${stateChoice}</option>`)
.trigger('window.load');
}
});
Если у вас более 10 форм с индексом, увеличивающимся с 1 до 99 или 999 ... Вы можете отредактировать способ назвать идентификатор вашей формы следующим образом: form01
form02
form03
или form001
form002
form003
...
Тогда, поскольку все имена идентификаторов начинаются с form
, вы можно обновить селекторы следующим образом:
Изменение $('#form1,#form2,#form3')
на $('[id^="form"]')
. Этот селектор означает: выбор некоторого элемента (ов), который содержит идентификатор, начинается с form
.
Наконец, если идентификатор вашей формы следует за 2 цифрами (form01
), вы обновляете строку, чтобы получить индекс to:
var index = this.id.substring(this.id.length - 2, this.id.length);
Вы можете сделать то же самое для идентификаторов, следующих за 3 цифрами (form001
):
var index = this.id.substring(this.id.length - 3, this.id.length);