Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выбор одного из c возможностью коректировки (https://javascript.ru/forum/misc/35671-vybor-odnogo-iz-c-vozmozhnostyu-korektirovki.html)

tsigel 18.02.2013 16:47

Либо:
$(this).next()
заменить на
$(this).next().next()

Либо:
$(this).next()
заменить на
$(this).parent().find('input')

ss18EXEL 18.02.2013 16:48

Цитата:

Сообщение от ksa (Сообщение 235320)
Использовать <br /> для отступов - дурной тон.

и какой же тон тогда использовать?

tsigel 18.02.2013 16:48

я же писал, используйте CSS

label input {display: block;}

ksa 18.02.2013 16:53

Цитата:

Сообщение от ss18EXEL
как бы скрипт исправить

Да хоть бы так...

<!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">
label {
	display: block;
}
label + label {
	margin-top: 2px;
}
label [type='text'] {
	display: none;
}
</style>
<script type="text/javascript">
$(document).ready(function (){
	$(':checkbox').click(function (){
		if (this.checked) {
			$(this).nextAll('input:text').show().val(this.value);
		} else {
			$(this).nextAll('input:text').hide();
		};
	});
});
</script>
</head>
<body>
<form>
<label>
	Item 1
	<input type='checkbox' value='1' />
	<br />
	<input type='text' value='' />
</label>
<label>
	Item 2
	<input type='checkbox' value='2' />
	<br />
	<input type='text' value='' />
</label>
<label>
	Item 3
	<input type='checkbox' value='3' />
	<br />
	<input type='text' value='' />
</label>
</form>
</body>
</html>

ss18EXEL 18.02.2013 17:00

Но теперь уже не отредактируешь так как оно скрывается при нажатии ((

tsigel 18.02.2013 17:08

Цитата:

Сообщение от ss18EXEL
Но теперь уже не отредактируешь так как оно скрывается при нажатии ((

Все пропало! :)

Deff 18.02.2013 17:10

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
input{
 	margin-bottom: 12px;
}
input[type='text']{
 	margin-left: 12px;
}
input{
 	margin-bottom: 12px;
           margin-top: 2px;
}

input + input{
	display: none;
}
input:checked + input[type='text'] {
	display: inline-block;
}
</style>
</head>
<body>

<form>
<label for=check1>Item 1</label>
	<input id=check1  type='checkbox' value='1' /><input  type='text'  value='' /><br />

<label for=check2>Item 2</label>
	
	<input id=check2 type='checkbox' value='2' /><input type='text' value='' /><br />

<label for=check3>Item 3</label>

	<input  id=check3 type='checkbox' value='3' /><input type='text' value='' /><br />

</form>

</body>
</html>

ss18EXEL 18.02.2013 17:21

интерестно то что оно не скрывает если текст выделять а если только нажать то он прячется (

Deff 18.02.2013 17:30

Поправил


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