我有一个测试表单,我的单选按钮有文本和值。
我正在尝试将标签中的文本从选中的单选按钮传递到隐藏字段名称=表单[test]
这是我的功能:
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 :(得分: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'));
});
答案 1 :(得分: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);
答案 2 :(得分: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。