Значение радиокнопки vits jquery - PullRequest
0 голосов
/ 10 декабря 2010

У меня есть тестовая форма, в которой мой переключатель содержит текст и значение.

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

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

    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

Ответы [ 3 ]

1 голос
/ 10 декабря 2010

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

$('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'));
});
0 голосов
/ 10 декабря 2010
$('input[name="form[Button]"]').change(function() {
    var level = $('input:radio[name="form[Button]"]:checked + label').text();
    $('input[name="form[test]"]').val(level);
});

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

0 голосов
/ 10 декабря 2010

Это

$('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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...