2010-12-10 8 views
0

У меня есть тестовая форма, где у меня есть кнопка и текст.Значок радио кнопки vits jquery

Я пытаюсь передать текст с ярлыка от проверенных радиокнопок для скрытого имени поля = форма [тест]

это моя функция:

var levels = $('input[name="form[Button]"]:checked + label').map(function() { 
return $(this).text(); 
}).get(); 

$('input[name="form[test]"]').change(function() { 
($(this).val(levels)); 
}); 

HTML

<input type="radio" id="Button0" value="0" name="form[Button]"> 
<label for="Button0">This item is worth £0</label> 
<input type="radio" id="Button1" value="100" name="form[Button]"> 
<label for="Button0">This item is worth £100</label> 

<input type="hidden" value="" id="test" name="form[test]"> 

Но мое изменение в jQuery просто не работает.

Большое спасибо за вашу помощь заранее!

Dom

ответ

0
$('input[name="form[Button]"]').change(function() { 
    var level = $('input:radio[name="form[Button]"]:checked + label').text(); 
    $('input[name="form[test]"]').val(level); 
}); 

И вы можете увидеть live demo.

+0

лейбла не может измениться с течением времени, то почему бы вам не раз запрос для него? – aefxx 2010-12-10 08:51:40

0

Этого

$('input[name="form[test]"]').change(function() { 
($(this).val(levels)); 
}); 

означает, что вы только хотите, чтобы изменить значение скрытого ввода, когда она уже изменяет какое-либо другое влияние. Я думаю, что вы имели в виду:

var levels = $('input[name="form[Button]"]:checked + label').map(function() { 
    return $(this).text(); 
}).get(); 

$('input[name="form[test]"]').val(levels); 
1

Попробуйте так: текст

$('input[name="form[Button]"]').each(function() { 
    $(this).data('label', $(this).next('label').text()); 
}); 

$('input[name="form[Button]"]').change(function() { 
    $('input[name="form[test]"]').val($(this).data('label')); 
}); 
Смежные вопросы