выбрать инпут вслед за чекбоксом
Как выбрать инпут который следует за чекбоксом
. Необходимо вывести значение лебела для каждого выбранного чекбокса и вслед за ним вывести значение инпута который следут за выбранным чекбоксом. Как это сделать <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); Пробую так не получается |
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> |
Значение инпута в алерте не выводится, только значение почемуто лебла,
если отдельно прописать alert(input_check.val()); то результат undefined |
Цитата:
|
А если:
var input_check = label_check.nextAll('input:text:first'); Хотя странно, что next() не работает. |
Ruslan_xDD,
в каком браузере неработает? |
рони, проверил сейчас, всё работает, видимо автор что-то не так скопировал.
|
var input_check = label_check.next(); Вот так не работает в Файрфоксе в других не проверял , все правильно скопировал |
И так 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()]); }); |
imediasun1,
а что-то в значении инпута есть ? и конечно лучше видеть весь нерабочий код. здесь то работает пример ? |
Да конечно же есть
<div id="prepay_methods"> <label>Предоплата</label> <br> <table> <tr> <td> <input type="checkbox" id="leter_registered" class="checkbox_prepay_delivery" name="leter_registered"><label for="leter_registered"class="text" >Письмо заказное</label> </td> <td><input type="text" for="leter_registered"name="leter_registered_price"class="input_price_delivery" size="5"><label class="text">грн.</label></td> </tr> <tr> <td> <input type="checkbox" class="checkbox_prepay_delivery"id="express_service"name="express_service"><label for="express_service"class="text">Посылка курьерской службой </label> </td> <td><input type="text" for="express_service"name="express_service_price"class="input_price_delivery" size="5"><label class="text">грн.</label></td> </tr> <tr> <td> <input type="checkbox"class="checkbox_prepay_delivery"id="new_post_prepay"name="new_post_prepay"><label for="new_post_prepay"class="text">Новая Почта (предоплата)</label> </td> <td><input type="text" for="new_post_prepay"name="new_post_prepay_price"class="input_price_delivery" size="5"><label class="text">грн.</label></td> </tr> <tr> <td> <input type="checkbox"class="checkbox_prepay_delivery"id="postal_parcel_valuable"name="postal_parcel_valuable"><label for="postal_parcel_valuable"class="text">Почтовая посылка ценная </label> </td> <td><input type="text" for="postal_parcel_valuable"name="postal parcel_valuable_price"class="input_price_delivery" size="5"><label class="text">грн.</label></td> </tr> <tr> <td> <input type="checkbox"class="checkbox_prepay_delivery"id="pickup"name="pickup"><label for="pickup"class="text">Самовывоз </label> </td> <td><input type="text" for="pickup"name="pickup_price"class="input_price_delivery" size="5"><label class="text">грн.</label></td> </tr> <tr> <td> <input type="checkbox"class="checkbox_prepay_delivery"id="meeting"name="meeting"><label for="meeting"class="text">При встрече</label> </td> <td><input type="text" for="meeting"name="meeting_price"class="input_price_delivery" size="5"><label class="text">грн.</label></td> </tr> <tr> <td> <input type="checkbox"class="checkbox_prepay_delivery"id="postal_parcel"name="postal_parcel"><label for="postal_parcel"class="text">Почтовая посылка</label> </td> <td><input type="text" for="postal_parcel"name="postal_parcel_price"class="input_price_delivery" size="5"><label class="text">грн.</label></td> </tr> <tr> <td> <input type="checkbox" class="checkbox_prepay_delivery"id="leter"name="leter"><label for="leter"class="text">Письмо простое</label> </td> <td><input type="text" for="leter"name="leter_price"class="input_price_delivery" size="5"><label class="text">грн.</label></td></tr> </table> </div><!--prepay_methods--> |
Так работать не будет.
|
imediasun1,
мда ... $('.checkbox_prepay_delivery:checked').each(function(){ var label_check = $(this).next(); var tr = $(this).parents('tr') var input_check = $('input:last',tr); alert([label_check.text(),input_check.val()]) }) |
Спасибо большое, это то что нужно было, спасибо
|
Часовой пояс GMT +3, время: 02:47. |