将值从select传递到输入

时间:2013-11-27 00:10:08

标签: javascript jquery select input

我有一个带有3个值和一个隐藏输入的选择。

<select name="selection">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<br/>
<input type="hidden" name="hid" value=""/>

我想将select的选项传递给隐藏输入的值,同时,如果我从select中选择0,则输入类型=“hidden”会变为type =“text”,同时保持值为0.

2 个答案:

答案 0 :(得分:1)

您必须使用更改事件

$("select[name='selection']").change(function() {
     var selected = $(this).find("option:selected").text();
     $("input[name='hid']").val(selected);
     if (selected == "0") 
          $("input[name='hid']").attr("type", "text");
     else
          $("input[name='hid']").attr("type", "hidden");
});

我建议你阅读: http://api.jquery.com/change/

这里有一个jsFiddle: http://jsfiddle.net/V4GZ2/

答案 1 :(得分:0)

你无法改变IE中的类型,但你可以用css隐藏/显示它。

jsfiddle

HTML

<select name="selection" class="box1">
    <option>0</option>
    <option selected>1</option>
    <option>2</option>
</select>
<br/>
<input type="text" name="hid" value="" class="box2"/>

JS

$(".box1").change(function () {
    var selected = $(this).find("option:selected").text();
    $(".box2").val(selected);
    if (selected === "0") {
        $(".box2").show();
    } else {
        $(".box2").hide();
    }
});