如何使用jquery更改输入字段的值?

时间:2010-04-27 12:19:58

标签: jquery

我正在尝试使用jquery来更改输入文本框的值,但它不起作用, 这是我的代码......

    <form method="get">
            <input id="temp" type="text" name="here" value="temp value" />
            <input class="form" type="radio" value="1" name="someForm" /> Enter something
            Here: <input id="input" type="text" name="here" value="test value" />
    </form>

    <script>

    $(document).ready(function () {
        $('.form').click(function () {
            var newvalue = $("#input").val();
            $("#temp").val(newvalue);
            $("#input").val($("#temp").val());
        });
    });

</script>

“#input”文本框的值没有改变!!!!!! 这是为什么??? 我错过了什么? 感谢提前1000万 附:文本框的值正在改变,但输入的值属性不是!!! 即使我写...

var value = $("#temp").val();
$("#input").attr("value", value);

3 个答案:

答案 0 :(得分:6)

该值未发生变化,因为您指定了#input已有的值。


仔细看看:

var newvalue = $("#input").val();
$("#temp").val(newvalue);
$("#input").val($("#temp").val());
  1. #input的值为foo
  2. 您指定newvalue = value of #input = 'foo'
  3. 您设置#temp的值:
    value of #temp = newvalue = value of #input = 'foo'
  4. 您设置#input的值:
    value of #input = value of #temp = newvalue = value of #input = 'foo'
  5. 因此,根据哪个字段应该得到哪个值,你必须改变它;)

答案 1 :(得分:2)

您选择的是input而不是#input,因此您要设置的第一个<input>的值不是id="input"的元素。

第一个输入是#temp,因此您要将该输入的值设置为其当前值。

答案 2 :(得分:1)

尝试:

$("#input").val($('#temp').val());

而不是:

$("input").val($(temp).val());