Reputation: 1891
i'm trying to use jquery to change the value of an input text box, but it's not working, here is my code...
<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>
the value of the "#input" text box is not changing!!!!!! why is that??? what am i missing??? thanks a 10 million in advance p.s. the value of the text box is changing, but the value attribute of the input is NOT!!! even if i write...
var value = $("#temp").val();
$("#input").attr("value", value);
Upvotes: 4
Views: 15988
Reputation: 817128
The value is not changing because you assign the value that #input
already has.
Have a closer look:
var newvalue = $("#input").val();
$("#temp").val(newvalue);
$("#input").val($("#temp").val());
#input
be 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'
So depending on which field should get which value you have to change this ;)
Upvotes: 6
Reputation: 382881
Try:
$("#input").val($('#temp').val());
instead of:
$("input").val($(temp).val());
Upvotes: 1
Reputation: 944426
You are selecting input
not #input
so you are setting the value of the first <input>
not the element with id="input"
.
The first input is #temp
so you are setting the value of that input to its current value.
Upvotes: 2