Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   type="radio" получение id элемента (https://javascript.ru/forum/misc/61897-type%3D-radio-poluchenie-id-ehlementa.html)

kristow 14.03.2016 17:35

type="radio" получение id элемента
 
Привет всем.
Генерирую таблицу с фильтром и сортировкой, используя пример: Ссылка
Для наглядности добавил в первый столбец input type="radio".
Хочу чтобы при выделении строки в таблицу считывать id и передавать его в input за пределами таблицы.
Вроде все просто, но у меня почему-то не работает...

Вот такого вида моя строка:
<tr class="odd">
				<td class=" sorting_1"><input type="radio" name="id_dev" id="dev856P1" value="856">
				<label for="dev856P1">Объект 1</label></td>
				<td class=" "><label for="dev856P1">Новый район</label></td>
				<td class=" "><label for="dev856P1">Иванов</label></td>
				<td class=" "><label for="dev856P1">14.03.2016</label></td>
				<td class=" "><label for="dev856P1">12983</label></td>
				<td class=" "><label for="dev856P1">123456</label></td>			
			</tr>

И код для обработки выделенной строки:
$(document).ready(function () {
	$(document).on('click', '#dev', function(){ 
		var z = document.getElementsByName('id_dev')
		var idx =0;
		for (var i = 0; i < z.length; i++)  {
			if  (z[i].checked) {
				idx = z[i].getAttribute('id');
				s = 'Выбор сделан!'; 
				break;
			}
		}
		alert(idx);
	});
});

Подскажите как правильно получить id="dev856P1"? Начало каждого id начинается с dev.

Dilettante_Pro 14.03.2016 18:17

kristow,
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function () {
	   $(document).on('change', 'input[type=radio]', function(){
       alert(this.id); 
	});
});
</script>
</head>
<body>
<table>
<tr class="odd">
				<td class=" sorting_1"><input type="radio" name="id_dev" id="dev856P1" value="856">
				<label for="dev856P1">Объект 1</label></td>
				<td class=" "><label for="dev856P1">Новый район</label></td>
				<td class=" "><label for="dev856P1">Иванов</label></td>
				<td class=" "><label for="dev856P1">14.03.2016</label></td>
				<td class=" "><label for="dev856P1">12983</label></td>
				<td class=" "><label for="dev856P1">123456</label></td>			
			</tr>
<tr class="odd">
				<td class=" sorting_1"><input type="radio" name="id_dev" id="dev856P2" value="856">
				<label for="dev856P1">Объект 2</label></td>
				<td class=" "><label for="dev856P2">Старый район</label></td>
				<td class=" "><label for="dev856P2">Петров</label></td>
				<td class=" "><label for="dev856P2">15.03.2016</label></td>
				<td class=" "><label for="dev856P2">54321</label></td>
				<td class=" "><label for="dev856P2">654321</label></td>			
			</tr>
   </table>         	
</body>
</html>

kristow 15.03.2016 08:10

Спасибо за помощь!
Получилось, все работает ;)

kristow 15.03.2016 08:26

Возник еще вопрос, а как можно изменить цвет текста при выборе label for=""?

AciDWarrioR 15.03.2016 08:59

kristow,
$("label[for='dev856P2']").css('color', 'green');

kristow 15.03.2016 12:06

Спасибо, получилось:)


Часовой пояс GMT +3, время: 18:52.