将单选按钮的值设置为Jquery中其他输入字段的值

时间:2011-08-10 13:05:13

标签: jquery button input set radio

我有几组单选按钮,其中最后一个是“其他”字段,用户可以在其中指定“其他”答案。

我想将“其他”单选按钮的值设置为刚刚填写的“其他”文本输入字段的值。

这是我的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]字段中。

期待您的回复。

2 个答案:

答案 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());
    });