Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.02.2018, 17:37
Аспирант
Отправить личное сообщение для Dark Souls Посмотреть профиль Найти все сообщения от Dark Souls
 
Регистрация: 06.03.2017
Сообщений: 37

Выбрать все input и добавить им значения
Доброго времени суток!
Любезные гуру, прошу помощи!
Есть форма (генериться моделью Yii2):
<form id='form-options' method='post'>
    // .....
    <div class='form-group field-form-name'>
        <label class='control-label' for='form_name'>
        <input class='form-control' id='form_name' name='Form[name]'>
        <p class='help-block help-block-error'></p>
    </div>
    // и таких 17 штук включая type = radio;
</form>

Нужно их всех выбрать и заполнить по клику:
$('.edit-line').on('click', function () {
    $.ajax({
        // ....
        success: function (data) {if (append_modal_input_value(data)) $('#edit').modal('show')}
    });
});
function append_modal_input_value(data) {
    var inputs = [];
    $('#form-options').each(function () {
        inputs = $(this).filter(':input');
    });
    // alert(JSON.stringify(inputs)) выводит объект
    return true;
}

И вот как бы мне с этим объектом поговорить?
inputs[0].name // не работает
alert(JSON.stringify(inputs[0])) // вообще ничего не выводит.

Нужно в инпуты всунуть значение из data.
P.S. можно конечно:
$('#form-options input[name="Form[name]"]').val(data.name);
// и так 17 раз, но это, я так понимаю, называют ганокодом )

Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2018, 19:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dark Souls
$('#form-options').each(function ()
17 полей, но форма то одна, к чему .each()?

Сообщение от Dark Souls
$('.edit-line').on('click', function ()
$('.edit-line') - это что такое?
Ответить с цитированием
  #3 (permalink)  
Старый 05.02.2018, 19:29
Аспирант
Отправить личное сообщение для Dark Souls Посмотреть профиль Найти все сообщения от Dark Souls
 
Регистрация: 06.03.2017
Сообщений: 37

Сообщение от laimas Посмотреть сообщение
$('.edit-line') - это что такое?
Кнопка кликнув по которой отрабатывается ajax запрос из базы.
Ответить с цитированием
  #4 (permalink)  
Старый 05.02.2018, 19:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dark Souls
Кнопка кликнув по которой отрабатывается ajax запрос
Кнопка она и в Африке кнопка. Конкретно какая, не submit?
Ответить с цитированием
  #5 (permalink)  
Старый 05.02.2018, 19:41
Аспирант
Отправить личное сообщение для Dark Souls Посмотреть профиль Найти все сообщения от Dark Souls
 
Регистрация: 06.03.2017
Сообщений: 37

нет. простой button с параметрами data-idn, data-line. шкрябаю из него параметры для data в ajax.
Ответить с цитированием
  #6 (permalink)  
Старый 05.02.2018, 20:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ясно, но вставлять из полученного объекта в поля нужно в success: function (data) {
тут циклом обойти data, вставляя значение в поля соответствующие
}
Ответить с цитированием
  #7 (permalink)  
Старый 05.02.2018, 20:16
Аспирант
Отправить личное сообщение для Dark Souls Посмотреть профиль Найти все сообщения от Dark Souls
 
Регистрация: 06.03.2017
Сообщений: 37

for (var key in data) {
    $('form#form-options input[name="Form['+ key +']"]').not(':radio').val(data[key]);
}

Это работает. Просто я думал что можно вставлять обращаясь к полям через объект.
Ответить с цитированием
  #8 (permalink)  
Старый 06.02.2018, 08:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dark Souls
$('form#form-options input[name="Form['+ key +']"]').not(':radio')
А как может поле формы не относящееся к группе кнопок иметь имя этой группы, зачем здесь not(':radio')?

Не стоит искать каждое поле в форме, лучше сразу получить всю коллекцию полей формы (form.elements), обращаясь к требуемому полю в этой коллекции по имени - namedItem(name).
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Выбрать все, кроме одного div'а. Как? Юрий Шу jQuery 9 27.05.2010 17:37
Выбрать все элементы кроме $(this) shustrikk jQuery 2 13.03.2010 14:17
Передать все значения списка разом LRCenter Элементы интерфейса 10 23.06.2009 12:29
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37