我正在尝试使用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);
答案 0 :(得分:6)
该值未发生变化,因为您指定了#input
已有的值。
仔细看看:
var newvalue = $("#input").val();
$("#temp").val(newvalue);
$("#input").val($("#temp").val());
#input
的值为foo
。newvalue = value of #input = 'foo'
#temp
的值:value of #temp = newvalue = value of #input = 'foo'
#input
的值:value of #input = value of #temp = newvalue = value of #input = 'foo'
因此,根据哪个字段应该得到哪个值,你必须改变它;)
答案 1 :(得分:2)
您选择的是input
而不是#input
,因此您要设置的第一个<input>
的值不是id="input"
的元素。
第一个输入是#temp
,因此您要将该输入的值设置为其当前值。
答案 2 :(得分:1)
尝试:
$("#input").val($('#temp').val());
而不是:
$("input").val($(temp).val());