2015-11-09 35 views
0

我有3個文本框,我想創建這樣的東西:當我鍵入到文本框1,它將複製到文本框3,並且當我鍵入到文本框2時,它將追加到帶有分隔符的文本框3 - )。JQuery追加到文本框時鍵入

例如,如果我寫的堆棧TextBox1中,textbox3會導致棧,那麼如果我寫下TextBox2中有溢水口,textbox3值:堆棧溢出

這裏是我的代碼在小提琴:

$(function() {          
 
    $("#text1").keyup(function() {     
 
     $('#text3').val(this.value);     
 
    }); 
 
    $("#text2").keyup(function() {     
 
     $('#text3').val.append('-'+this.value);     
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type="text" id="text1" /> 
 
<input type="text" id="text2" /> 
 
<input type="text" id="text3" />

任何人都可以修復我的代碼?

+0

你遇到的問題或錯誤是什麼? – Blip

回答

2
$(function() {          
    var text1value , text2value; 
    $("#text1").keyup(function() {     
     text1value = $(this).val(); 
     $('#text3').val(text1value);     
    }); 
    $("#text2").keyup(function() {     
     text2value = $(this).val(); 
     $('#text3').val(text1value+'-'+text2value);     
    }); 
}); 
+0

太好了。謝謝。現在我可以將其設置爲另一個文本框... –

+0

@CrossVander歡迎您..您可能需要一點if語句以檢查文本框是否爲空,但它很容易實現..好運 –

+1

當然,我已經也是這樣做的,因爲當我將它實現到我的項目時,它會給出一個小錯誤。但現在工作正常。再次感謝 –

1

您還需要檢查text2是否爲空,因此您不必在此情況下連接' - '。

JS Fiddle

$(function() {          
    $("#text1").keyup(function() { 
     var text2 = $('#text2').val(); 
     var temp = $(this).val(); 
     if (text2 != '') { 
      temp = $(this).val()+'-'+text2; 
     } 
     $('#text3').val(temp);     
    }); 
    $("#text2").keyup(function() { 
     var temp = $('#text1').val()+'-'+$(this).val(); 
     $('#text3').val(temp);     
    }); 
}); 
0

這是做這件事: http://jsfiddle.net/6qojd9L4/

$(function() {          
    $("#text1").keyup(function() {     
     $('#text3').val(this.value + '-' + $('#text2').val());     
    }); 
    $("#text2").keyup(function() {     
     $('#text3').val($('#text1').val() + '-'+this.value);     
    }); 
}); 
1

$(function() {          
 
    $("#text1").keyup(function() {     
 
     $('#text3').val(this.value);     
 
    }); 
 
    $("#text2").keyup(function(e) {     
 
     $('#text3').val(function(index, val) { 
 
      return $("#text1").val() + "-" + e.target.value; 
 
     }); 
 
    }); 
 
});
This should do it 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type="text" id="text1" /> 
 
<input type="text" id="text2" /> 
 
<input type="text" id="text3" />