【问题标题】:jQuery onChange add value of field to HTMLjQuery onChange 将字段的值添加到 HTML
【发布时间】:2011-04-25 17:17:27
【问题描述】:

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

现在我得到了这个:

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

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

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

        });

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

谢谢!

【问题讨论】:

标签: jquery html input onchange


【解决方案1】:

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

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

http://jsfiddle.net/xY7Q6/

keypress 的问题在于它不能用于复制和粘贴文本。

输入事件几乎是每个人都期望的“改变”(o:我认为这个事件是相当新的(HTML5?),旧的浏览器可能没有那个。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      在这里测试一下

      http://jsfiddle.net/y3zpP/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-27
        • 1970-01-01
        相关资源
        最近更新 更多