我有两个文本框值: -
var pickup = $('#txt-pickup');
var destination = $('#txt-destination');
我想按如下方式交换这两个值: -
pickup.val(destination.val());
destination.val(pickup.val());
但是,上述内容始终将两个值都设置为相同的值。 (与目标值相同)
有没有办法同时改变这两种情况?
答案 0 :(得分:4)
我为你做了一个小伙伴:
<input id="txt-pickup" type="text"/>
<input id="txt-destination" type="text"/>
<input id="change" type="button" value="Swap"/>
$(document).ready(function (){
$("#change").on('click',function(){
var pickup = $('#txt-pickup').val();
$('#txt-pickup').val($('#txt-destination').val());
$('#txt-destination').val(pickup);
});
});
答案 1 :(得分:2)
尝试这个对我有用
<div>
<input type="text" id="text1"/>
<input type="text" id="text2"/>
<input type="button" id="button" value="swap"/>
</div>
$(document).ready(function(){
$("#button").click(function()
{
var a = $("#text1").val();
$("#text1").val($("#text2").val());
$("#text2").val(a);
});
});
</script>
答案 2 :(得分:0)
尝试
将值存储在变量中,而不是将其分配给另一个文本框。
var pickup = $('#txt-pickup'),
destination = $('#txt-destination');
var d_val = destination.val(); //cache value of destination
destination.val(pickup.val()); //change value of destination to pickup.val()
pickup.val(d_val); //change value of pickup to cached value of destination
答案 3 :(得分:0)
您可以将这两个文本框中的任何一个的值存储在变量中,然后将此变量设置为另一个文本框的值:
var tmp = $('#txt-pickup').val();
pickup.val(destination.val());
destination.val(tmp);
<强> Fiddle Demo 强>