Узнать какой input text был заполнен

163
21 марта 2018, 06:08

Есть большое количество input ов, которые нужно отправить если совпадает name с data-id сабмита.
Вот submit и inputы :

<input type="text" value="0" name="1"  class="count-value" disabled size="1"/> 
<input type="text" value="0" name="2"  class="count-value" disabled size="1"/>
<input type="text" value="0" name="3"  class="count-value" disabled size="1"/>
<a href="" data-id='1' class="submit-stat">ok</a>  
<a href="" data-id='2' class="submit-stat">ok</a>  
<a href="" data-id='3' class="submit-stat">ok</a>

ajax:

 $(document).ready(function(){
        $(".submit-stat").click(function () {
            $.ajax({
                type: 'POST',
                data: {count: $('.count-value').val(), key: $(this).attr("data-id")},
                success: function(data) {
                    $('.result-block').html(data);
                }
            });
            return false;
        });
    });
Answer 1

У вас в коде не хватает двух ключевых моментов:

  1. Определение data-id, который был кликнут
  2. Определение по кликнутому data-id именно того поля данных, которое соответствует этому data-id

По шагам, чтобы в click() взять элемент, по которому кликнули, достаточно взять this:

var data_id = $(this).attr("data-id");

И второй шаг, нужно в AJAX отсылать не просто какой-то count, а именно нашего элемента с data-id. Меняем код

data: {count: $('.count-value').val(), key: $(this).attr("data-id")},

на более конкретный

data: {count: $('.count-value[name='+data_id+']').val(), key: $(this).attr("data-id")},

Так будет то, что нужно

Answer 2
 $(document).ready(function(){
        $(".submit-stat").click(function () {
            var val = $('.count-value[name='+$(this).attr('data-id')+']').val();
            if (!val) {
                return;
            }
            $.ajax({
                type: 'POST',
                data: {count: val, key: $(this).attr("data-id")},
                success: function(data) {
                    $('.result-block').html(data);
                }
            });
            return false;
        });
    });
READ ALSO
Ошибка при выгрузке товаров Bitrix Yandex

Ошибка при выгрузке товаров Bitrix Yandex

Подскажите, с чем может быть связано? Воспроизведение:

257
Как удалить все записи с ::deleteAll() в yii2

Как удалить все записи с ::deleteAll() в yii2

В таблице хранятся выбранные пользователем данныеСреди прочих в таблице есть поле day и news_date

132
Проверка на успешное добавление данных

Проверка на успешное добавление данных

Я знаю, какой функцией можно осуществить данную проверку, но не совсем понимаю как правильно ее прикрутить к уже существующей функции добавления...

166
BITRIX Экспорт в CSV: в IP_PROP вместо NAME сохраняет ID

BITRIX Экспорт в CSV: в IP_PROP вместо NAME сохраняет ID

Добрый день! Пытаюсь сделать выгрузку CSV товаров с сайта на BitrixИспользую стандартный компонент Контент->Инфоблоки->ЭкспортCSV

199