交换两个文本框值

时间:2014-04-24 09:23:03

标签: jquery

我有两个文本框值: -

var pickup = $('#txt-pickup');
var destination = $('#txt-destination');

我想按如下方式交换这两个值: -

pickup.val(destination.val());
destination.val(pickup.val());

但是,上述内容始终将两个值都设置为相同的值。 (与目标值相同)

有没有办法同时改变这两种情况?

4 个答案:

答案 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);


    });

});

JSFIDDLE

答案 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