我有几组单选按钮,其中最后一个是“其他”字段,用户可以在其中指定“其他”答案。
我想将“其他”单选按钮的值设置为刚刚填写的“其他”文本输入字段的值。
这是我的HTML:
<fieldset>
<h3>We are online via ...</h3>
<label for="online_via[1]">
<input type="radio" name="online_via" id="online_via[1]" value="laptop" /> Laptop
</label>
<label for="online_via[2]">
<input type="radio" name="online_via" id="online_via[2]" value="desktop" /> Desktop
</label>
<label for="online_via[3]">
<input type="radio" name="online_via" id="online_via[3]" value="mobile" /> GSM, Smartphone, PDA
</label>
<label for="online_via[4]">
<input type="radio" name="online_via" id="online_via[4]" alue="tablet" /> Tablet
</label>
<label for="online_via[other]">
<input type="radio" name="online_via" id="online_via[other]" value="other" /> Other, specify: <input type="text" id="online_via[specified]" class="other" />
</label>
</fieldset>
如您所见,最后一个单选按钮在其标签标签中包含输入[type =“text”]。我想取其值,并将其用作另一个单选按钮的值。 这就是我在Jquery尝试过的事情:
$(function(){
$('.other').keyup(function(){
var radio = $(this).attr('id').replace('specified','other');
$('input#' + radio).attr("value", $(this).val());
console.log($('input#' + radio).val());
});
});
我一直在“未定义”。我究竟做错了什么? Jquery jedis团结起来!
P.S。:请记住,我有几组单选按钮。 PPS:#online_via [指定]字段没有name属性的原因是因为我希望在发布数据时忽略它,因为我希望将其值存储在#online_via [other]字段中。
期待您的回复。
答案 0 :(得分:1)
$(function(){
$('.other').keyup(function(){
$(this).parent().find('input[type=radio]').val($(this).val());
});
});
那会为你做吗?
答案 1 :(得分:0)
首先执行此操作:
<label for="online_via[other]">
<input type="radio" class="otherClass" name="online_via" id="online_via[other]" value="other" /> Other, specify: <input type="text" id="online_via[specified]" class="other" />
</label>
然后:
$('.other').keyup(function(){
$('.otherClass').val($(this).val());
console.log($('.otherClass').val());
});