1

我有一个我认为必须是一个非常简单的 jQuery 问题。

当用户在我正在处理的站点上创建帐户时,他们创建的帐户名称会附加到站点地址,这是他们将来用来访问其帐户的地址。

例如http://useraccount.thewebsite.com

当用户在注册表单上的“创建帐户名”字段中键入帐户名时,我想创建一个工具提示来解释这是什么并向他们展示地址的样子。

到目前为止,这是我的代码:

$('input.account-name').keypress(function(){
  $("span.account-name-illustration").replaceWith($(this).val());
});

'input.account-name' 是输入字段。

'span.account-name-illustration' 是这样的:

<p>Your account address will be https://<span class="account-name-illustration">something</span>.thewebsite.com.</p>

这适用于第一次按键,但之后没有。

所以我经过一番折腾,我发现了这个:

http://docs.jquery.com/Events/keypress

这在某种程度上有效。除了它只是不断地添加每个按键,忽略删除后输入中的实际内容或将光标放在现有字符之间等。

所以现在我想知道,我真的想记录每个按键……还是有办法在每次按键后获取输入的值?

非常感谢帮助。

4

1 回答 1

2

由于您只是用span文本替换了,因此span.account-name-illustration选择器在后续调用中将找不到任何内容。

span您可以通过使用text而不是保留来解决此问题replaceWith

$("span.account-name-illustration").text($(this).val());
于 2013-03-17T17:01:35.837 回答