Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Эмуляция нажатия на radiobutton (https://javascript.ru/forum/jquery/40898-ehmulyaciya-nazhatiya-na-radiobutton.html)

sillexo 23.08.2013 19:16

Эмуляция нажатия на radiobutton
 
Добрый день всем!

У меня такая проблема:
нужно при клике на строку таблицы (tr) эмулировать нажатие на radio. Не просто ставить checked, а именно нужно событие click.

<table>
	<tr>
		<td><input type="radio" name="radio" /></td>
		<td>Тут какая то информация</td>
		<td>Тут какая то информация</td>
	</tr>
	<tr>
		<td><input type="radio" name="radio" /></td>
		<td>Тут какая то информация</td>
		<td>Тут какая то информация</td>
	</tr>
	<tr>
		<td><input type="radio" name="radio" /></td>
		<td>Тут какая то информация</td>
		<td>Тут какая то информация</td>
	</tr>
</table>


Мой код вызывает крах браузера ))
$('table tr').bind({
	click: function() {
		$(this).find(':radio').click();
	}
});

ksa 24.08.2013 12:00

Цитата:

Сообщение от sillexo
Мой код вызывает крах браузера

Нужно останавливать всплытие события...
http://javascript.ru/tutorial/events...obekt-sobytiya

Как вариант...
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function() {
	$('table tr input:radio').click(function(event) {
		event = event || window.event;
		event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true);
		alert('Ok');
	});
	$('table tr').bind({
		click: function() {
			$(this).find(':radio').click();
		}
	});
});
</script>
</head>
<body>
<table>
	<tr>
		<td><input type="radio" name="radio" /></td>
		<td>Тут какая то информация</td>
		<td>Тут какая то информация</td>
	</tr>
	<tr>
		<td><input type="radio" name="radio" /></td>
		<td>Тут какая то информация</td>
		<td>Тут какая то информация</td>
	</tr>
	<tr>
		<td><input type="radio" name="radio" /></td>
		<td>Тут какая то информация</td>
		<td>Тут какая то информация</td>
	</tr>
</table>
</body>
</html>

sillexo 25.08.2013 15:33

Спасибо, большое, то что нужно...


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