jQuery onChange将字段的值添加到HTML

时间:2011-04-25 17:17:28

标签: jquery html input onchange

我想将输入字段的值实时打印到DIV。

现在我有了这个:

        $("#page_name").change(function () {

            var new_val = $("#page_name").val();

            $("#page_url").html(new_val);

        });

显然,它不起作用。有人有建议吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

应该实际上有效。我最好的猜测是:

  1. 也许可以检查您的选择器。此外,您可以使用$(this)而不是第二次选择#page_name
  2. 变化并不总是像你想象的那样经常发生。尝试将事件绑定到keyup。
  3. 此外,.html()节点可能是一个坏主意。你可能想要.text()它是安全的。

答案 1 :(得分:3)

正如所指出的,“变化”仅在元素失去焦点时发生。将其绑定到keypress事件的替代方法是将其绑定到“input”事件。

$('#page_name').bind('input', function(e){
    var output = e.target.value;
    $('#page_url').text(output);
});

http://jsfiddle.net/xY7Q6/

按键的问题在于它不适用于复制和粘贴文本。

输入事件几乎是每个人都期望“改变”的事情(o:我认为这个事件很新(HTML5?),旧的浏览器可能不会得到那个。

答案 2 :(得分:0)

实际上它会起作用,但只有当你将光标移出输入框时才会有效,因为当焦点丢失时会发生变化。

你需要的是按键。代码和你的代码一样

 $("#page_name").keypress(function () {
            var new_val = $("#page_name").val();
            $("#page_url").html(new_val);
});

在这里测试

http://jsfiddle.net/y3zpP/