【问题标题】:Switch focus onclick to dynamically added text input将焦点切换到动态添加的文本输入
【发布时间】:2010-12-07 16:26:12
【问题描述】:

让我先说我是一个 jQuery 菜鸟 - 刚刚开始学习过程。

我目前正在经营一家在线商店。我们与购物车集成的功能之一是“快速添加”字段 (id="cc")。

“快速添加”字段下方是一个动态填充项目行的表格。在这些动态添加的商品行中的每一个中都有一个“数量”文本字段 (id="qtycart"),以防客户希望在商品添加到购物车后更改其数量。

这是我想做的:

我希望客户能够将文本添加到“快速添加”文本输入并单击提交按钮。单击提交按钮后,我希望焦点从该输入更改为下面新添加的行上的“数量”输入。

这有意义吗?

这是我整理的一个简单函数,但我显然遗漏了一些东西:

$("#cc").live("click", function(){
$("#qtycart:text:visible:last").focus();
});

非常感谢您的宝贵时间!

【问题讨论】:

  • 每个元素的'id'应该是唯一的。

标签: jquery input focus onclick live


【解决方案1】:

您的 DOM (qtycart) 中似乎有重复的 ID。您可能应该改用类名“qtycart”:

$("#cc").live("click", function(){
    $(".qtycart:text:visible:last").focus();
});

如果您定位正确的元素,.focus() 方法确实有效。这是一个小演示来模拟您正在尝试做的事情:http://jsfiddle.net/6VZf3/2/

这就是 W3C 关于ID attribute 的说法:

id = 姓名 [CS]

此属性为元素分配名称。这 名称在文档中必须是唯一的。

【讨论】:

    【解决方案2】:

    我想我理解你的问题。看看这个例子:

    http://jsbin.com/ahusi4/2/edit

    您可以输入一个新项目,数量输入框获得焦点。

    希望这会有所帮助。

    鲍勃

    【讨论】:

      猜你喜欢
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 2017-03-23
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多