Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   выбрать инпут вслед за чекбоксом (https://javascript.ru/forum/dom-window/40198-vybrat-input-vsled-za-chekboksom.html)

imediasun1 27.07.2013 14:58

выбрать инпут вслед за чекбоксом
 
Как выбрать инпут который следует за чекбоксом
. Необходимо вывести значение лебела для каждого выбранного чекбокса и вслед за ним вывести значение инпута который следут за выбранным чекбоксом.
Как это сделать
<input type="checkbox" id="leter_registered" class="checkbox_prepay_delivery" name="leter_registered"><label for="leter_registered"class="text" >Письмо заказное</label>
<input type="text"name=" leter_registered_price" class="input_price_delivery" size="5">
и затем вывести значение инпута который следует за каждым выбранным чекбоксом, помогите пожалуйста
$('.checkbox_prepay_delivery:checked').each(function(){
var label_check = $("label[for='"+$(this).attr("id")+"']");
var input_check = $($(this)).closest('.input_price_delivery').val();
alert(input_check);

Пробую так не получается

рони 27.07.2013 16:46

imediasun1,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>

<body>
<input type="checkbox" id="leter_registered" class="checkbox_prepay_delivery" name="leter_registered" checked="checked">
<label for="leter_registered"class="text" >Письмо заказное</label>
<input type="text"name=" leter_registered_price" class="input_price_delivery" size="5" value="12345">
<script>
$('.checkbox_prepay_delivery:checked').each(function(){
var label_check = $(this).nextAll('label');
var input_check = label_check.next();
alert([label_check.text(),input_check.val()])
             })
</script>
</body>

</html>

imediasun1 27.07.2013 16:58

Значение инпута в алерте не выводится, только значение почемуто лебла,
если отдельно прописать
alert(input_check.val());

то результат undefined

рони 27.07.2013 17:03

Цитата:

Сообщение от imediasun1
Значение инпута в алерте не выводится, только значение почемуто лебла

а куда оно делось?

ruslan_mart 27.07.2013 17:05

А если:
var input_check = label_check.nextAll('input:text:first');


Хотя странно, что next() не работает.

рони 27.07.2013 17:08

Ruslan_xDD,
в каком браузере неработает?

ruslan_mart 27.07.2013 17:15

рони, проверил сейчас, всё работает, видимо автор что-то не так скопировал.

imediasun1 27.07.2013 17:18

var input_check = label_check.next();

Вот так не работает в Файрфоксе в других не проверял , все правильно скопировал

imediasun1 27.07.2013 17:20

И так undefined
$('.checkbox_prepay_delivery:checked').each(function(){
var label_check = $(this).nextAll('label');
var input_check = label_check.nextAll('input:text:first');
alert([label_check.text()]);
alert(input_check.val());
});

Скопировал я вот так и вместо input_check.val() пустота
$('.checkbox_prepay_delivery:checked').each(function(){
var label_check = $(this).nextAll('label');
var input_check = label_check.next();
alert([label_check.text()]);
alert([input_check.val()]);
});

рони 27.07.2013 18:10

imediasun1,
а что-то в значении инпута есть ? и конечно лучше видеть весь нерабочий код. здесь то работает пример ?


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