我想获取另一个文本框的值并将其实时输入到另一个文本框中。 如果TEXT_3改变了,我如何检测?如果TEXT_3值发生变化,则必须输入TEXT_4 为方便起见,以下是代码和演示:
**HTML**
<label>TEXT 1: </label><input type="text" id="text_1" value=""/>
<label>TEXT 2: </label><input type="text" id="text_2" value=""/>
<label>TEXT 3: </label><input type="text" id="text_3" value=""/>
<label>TEXT 4: </label><input type="text" id="text_4" value=""/>
**JAVASCRIPT**
/* INPUT TEXT_1 AND TEXT_2 VALUE TO TEXT_3 ON TEXT_1 KEYUP*/
$("#text_1").keyup(function() {
$("#text_3").val($("#text_1").val() + " " + $("#text_2").val());
})
/* INPUT TEXT_1 AND TEXT_2 VALUE TO TEXT_3 ON TEXT_1 AND TEXT_2 KEYUP*/
$("#text_2").keyup(function(){
$("#text_3").val($("#text_1").val() + " " + $("#text_2").val());
})
/* HOW CAN I DETECT IF TEXT_3 WAS CHANGED? IF TEXT_3 VALUE CHANGED, IT MUST BE INPUTTED TO TEXT_4*/
/* not working solution */
$("#text_3").change(function(){
$("#text_4").val($("#text_3").val());
})
DEMO:http://jsfiddle.net/8eXRx/7/
感谢您的回复!
答案 0 :(得分:6)
在textbox3.val()之后添加change(), 如下所示:
$("#text_1").keyup(function() {
$("#text_3").val($("#text_1").val() + " " + $("#text_2").val()).change();
})
/* INPUT TEXT_1 AND TEXT_2 VALUE TO TEXT_3 ON TEXT_1 AND TEXT_2 KEYUP*/
$("#text_2").keyup(function(){
$("#text_3").val($("#text_1").val() + " " + $("#text_2").val()).change();
})
答案 1 :(得分:4)
问题是您无法绑定特殊事件来检查文本框值是否已使用JavaScript而非手动更改。要解决此任务,一个选项是对keyup
和text_1
使用相同的text_2
事件。 JQuery将新处理程序添加到现有处理程序:
$("#text_1, #text_2").keyup(function(){
$("#text_4").val($("#text_3").val());
})
答案 2 :(得分:2)
输入字段失去焦点后,change
事件将触发。如果您想要实时更新它,您还需要keyup
事件,如下所示:
$("#text_3").keyup(function(){
$("#text_4").val($("#text_3").val());
})
答案 3 :(得分:1)
尝试:
$("#text_3").keyup(function(){
cur_val = $(this).val(); //grab #text_3's current value
$(this).val(cur_val); // this is optional, but keep for sake
$("#text_4").val(cur_val); //set #text_4's value as what #text_3 is having
});
答案 4 :(得分:0)
试试这个.. n1和n2是textbox
$(document).ready(function(){
$(':input').keyup(function(){
$("#n2").val($("#n1").val()).change();
});
});