Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

Не могу по нажатию кнопки выводить значение

#javascript #jquery


Доброго всем дня, в приложении присутствует таблица с колонкой Id и к каждой колонке
есть кнопка. Нужно по нажатию кнопки вводить в консоль значение Id 
написал скрипт который по нажатию выводит в консоль id строки. Но почему-то не работает.
Так я вывожу допустим значение Id 4-й строки:

var a = $('.inputik').eq(3).val();
console.log(a);


но мне надо id той колонки, где нажата кнопка. Cделал так, но не сработало: 

var a = $('.inputik').eq(this).val();
console.log(a);


Вот моя примерная таблица надо по нажатию на кнопку ввдить значене из Hidden input 

     
ID Name Num Lat Lot Status Actions
1 Driver1 01 0 0 offline
2 Driver2 02 69.442771 45.536307 offline
3 Driver3 03 43.380050 50.30960 offline
4 Driver4 04 50.354619 50.078559 Offline
5 Driver5 05 30.37569 49.778018 Offline
6 Driver6 06 0 0 Offline


Ответы

Ответ 1



Вот версия с eq $(document).ready(function(){ $('.btn').on('click', function(){ console.log($(this).closest('tr').find('td').eq(0).text()); }) })
#1 blah blah
#2 blah blah
#3 blah blah
Когда в 7 элементе кнопка
#1 blah blah blah blah
#2 blah blah blah blah
#3 blah blah blah blah
js $(document).ready(function(){ $('.ui-button').on('click', function(){ console.log($(this).closest('tr').find('td').eq(7).children().val()); }) })

Ответ 2



Вы неверно пытаетесь взять значение через val(), это подходит для тегов типа input, к примеру. С тегами типа td нужно брать их содержимое через html(). $('.btn').on('click', function() { id = $(this).parent().parent().find('td:first-child').html(); console.log(id); });
#1 blah blah
#2 blah blah
#3 blah blah


Ответ 3



Хочу предложить такой новаторский вариянт: #3 blah blah Скрипт $('.btn').on('click', function() { var id = $('.inputik').eq($(this).data('rowIndex')).val(); console.log(id); }); С недавних пор стало возможным к элементами добавлять произвольный data-атрибуты. Эту возможность нам предоставил HTML5. Убедитесь, что Ваш браузер поддерживает HTML5. Добавить к кнопке data-атрибут data-row-id со значением равным индексу строки. Этот атрибут извлекается в обработчике и автор вопроса может воспользоваться так полюбившейся ему функцией eq, не утруждая себя вычислением индекса строки.

Комментариев нет:

Отправить комментарий