在那里找到一个javascript专家的问题。我正在创建一个由几个不同的文本输入字段组成的侧边栏工具。此工具的目的是编辑模板上的副本。我试图将输入的数据传递给onchange中的字段,但是我遇到了将数据转储到js对象中的问题。这有点像我的想法:
$('myInputField').(function(){
$(this).onChange(){
// write to variable X
}
});
基本上我想让我在输入中输入的内容被模仿实时,然后我可以解析对我的数据库的更改。
答案 0 :(得分:1)
$('#myInputField').(function(){
$(this).onkeyup(){
x = this.value;
}
});
或更简洁:
$('#myInputField').onkeyup(){
x = this.value;
});
答案 1 :(得分:1)
您只是在寻找该事件处理程序中myInputField
中的值?像这样的东西?:
$('myInputField').(function(){
$(this).onChange(){
x = $(this).val();
}
});
如果this
已经是jQuery对象,我不记得我的头脑。如果是,那么这应该工作,也许可以省略一点开销:
x = this.val();
此外,如果使用不同的上下文覆盖this
,或者如果您还要引用其他字段等,则可以使用普通的jQuery选择器显式引用该字段:
x = $('myInputField').val();
答案 2 :(得分:1)
问题是,在IE上,onchange
事件对INPUT元素不起作用。因此,您必须使用onkeypress
或onblur
事件,具体取决于您要执行的操作。
JS方式:
document.getElementById('myInputField').onblur = function() {
var x = this.value
}
jQuery方式:
$('#myInputField').blur(function() {
var x = this.value
})
答案 3 :(得分:0)
输入字段上的简单keyup事件是否足够?
jQuery的:
$('textarea').keyup(function() {
$('#foo').html($(this).val());
});
HTML:
<textarea></textarea>
<div id="foo"></div>
<强> jsFiddle example 强>