29.03.2017, 12:38
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
laimas,
Сообщение от laimas
|
var f = $('#addcom').empty();
|
удаляет полностю поля формі и кнопку генерить, при єтом создавая новый inputы. а нужно (получается) очистить только сожержимое inputов формы и заменить их новыми данными
Последний раз редактировалось dasser, 29.03.2017 в 12:40.
|
|
29.03.2017, 13:06
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Если честно, то просто офигеть... ) Данные то как то связываются.
Тогда так
$('input[type=text]:text').change(function (){
$.post("ajax_all.php", { "num_contr" : this.value}, function(data){
$.each($('#addcom input'), function() {
this.value = data[this.name]
})
}, 'json');
});
Но с условием, что изначально в форме гарантированно есть поля с этими именами.
К тому же, в коллекцию '#addcom input' не должны попасть другие поля формы. Это можно обеспечить указав контекст, либо выборку по имени класса, либо взять срез и т.п. В общем все зависит от структуры формы.
Последний раз редактировалось laimas, 29.03.2017 в 13:09.
|
|
29.03.2017, 13:13
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
Сообщение от laimas
|
Но с условием, что изначально в форме гарантированно есть поля с этими именами.
К тому же, в коллекцию '#addcom input' не должны попасть другие поля формы. Это можно обеспечить указав контекст, либо выборку по имени класса, либо взять срез и т.п. В общем все зависит от структуры формы.
|
УРА, сработало! да, в коллекцию '#addcom input' попали и другие поля. а что значит ?
Цитата:
|
либо взять срез и т.п.
|
|
|
29.03.2017, 13:18
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от dasser
|
а что значит ?
|
А это значит, что будет получена ошибка и не факт, что после этого будут выполняться скрипты.
Можно и проверять в цикле - если есть свойство в объекте data равное имени текущего поля, то меняем значение полю. Но если структура формы такова, что к примеру эти поля расположены в таблице, а другие нет, то можно получить только нужную коллекцию:
$.each($('#addcom table input'), function() {
.....
или по какому либо иному признаку.
|
|
29.03.2017, 13:28
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
Цитата:
|
что будет получена ошибка и не факт, что после этого будут выполняться скрипты
|
ясно.
Цитата:
|
$.each($('#addcom table input'), function() {
|
прекрасно заработало, то что нужно! спасибо Вам большое!
ps: вот что значит когда не владеешь азами JS. а чтобы понимать как нужно реализовать задуманое, мало перелистать документацию и Гугл, нужна практика с аналогичными примерами.
|
|
29.03.2017, 13:30
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Среди возвращаемых сервером данных есть и поле идентификатора записи?
|
|
29.03.2017, 13:34
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
Цитата:
|
Среди возвращаемых сервером данных есть и поле идентификатора записи?
|
да
|
|
29.03.2017, 13:38
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
$('input[type=text]:text') - этот селектор будет работать, но он излишен, либо type, либо :tetx
$('input:text')
Но добавляемые поля и есть текстовые, а это означает, что изменение в любом из них будет перегружать форму, то есть - запрос, обновление значений. Зачем?
|
|
29.03.2017, 13:44
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
Цитата:
|
Но добавляемые поля и есть текстовые, а это означает, что изменение в любом из них будет перегружать форму, то есть - запрос, обновление значений. Зачем?
|
в моем случае это необходимо, т.к. те значения которые подгрузились из базы - старые, которые могут мной редактироваться для пересчета сумы, которая. в своб очередь, и зависит от этого множества данных, но часть инпутов должна оставаться не тронутой, т.к. это реквизиты. В даный момент результат наших с вами действий меня очень даже устраивает!
|
|
29.03.2017, 13:48
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Щелкнули в поле, удалили один символ, любой случайный щелчок вне поля запрос на обновление. Вот я о чем. Зачем?
Есть же форма, и редактирование, это отправка формы, а не по событию каждого изменения в поле, иначе можно и ошибок натворить.
Последний раз редактировалось laimas, 29.03.2017 в 13:56.
|
|
|
|