jQuery onChange 将字段值添加到 HTML

发布于 2024-11-03 06:39:50 字数 258 浏览 2 评论 0原文

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

现在我明白了:

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

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

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

        });

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

谢谢!

I want to print the value of a input field real-time to a DIV.

Right now I have got this:

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

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

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

        });

It doesn't work, obviously. Anyone got a suggestion?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

饭团 2024-11-10 06:39:50

正如所指出的,“更改”仅在元素失去焦点时发生。将其绑定到按键事件的另一种方法是将其绑定到“输入”事件。

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

http://jsfiddle.net/xY7Q6/

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

输入事件几乎是每个人都期望的“更改”(o:我认为这个事件是相当新的(HTML5?),较旧的浏览器可能无法获得该事件。

As pointed out 'change' only occurs when the element loses focus. An alternative to binding it to the keypress event would be binding it to the "input" event.

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

http://jsfiddle.net/xY7Q6/

The problem with keypress is that it does not work on copy&paste text.

The input event is pretty much what everybody expects 'change' to be (o: I think this event is pretty new (HTML5?), older browsers may not get that one.

爱的十字路口 2024-11-10 06:39:50

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

  1. 也许检查一下你的选择器。另外,您可以使用 $(this) 而不是第二次选择 #page_name
  2. 变革并不总是像您想象的那样频繁发生。尝试将事件绑定到 keyup。
  3. 另外,对节点进行 .html() 可能不是一个好主意。为了安全起见,您可能需要 .text() 它。

That should actually work. My best guess is this:

  1. Check your selectors, perhaps. Also, you can use $(this) instead of selecting #page_name that second time.
  2. Change doesn't always fire as often as you might think it should. Try binding the event to keyup instead.
  3. Also, it's probably a bad idea to .html() the node. You'll probably want to .text() it to be safe.
左岸枫 2024-11-10 06:39:50

实际上它会起作用,但只有当您将光标移出输入框时,因为当焦点丢失时会触发更改。

你需要的是按键。 相同

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

代码与您的代码

http://jsfiddle.net/y3zpP/

Actually it will work, but only when you move the cursor out of the input box, because change fires when the focus is lost.

What you need is keypress. The code is just the same as yours

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

test it here

http://jsfiddle.net/y3zpP/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文