切换焦点点击以动态添加文本输入

时间:2010-12-07 16:26:13

标签: jquery input focus onclick live

让我先说这个问题,说我是一个jQuery noob - 刚刚开始学习过程。

我目前正在网上商店工作。我们与购物车集成的功能之一是“快速添加”字段(id =“cc”)。

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

这就是我想要做的事情:

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

这有意义吗?

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

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

非常感谢您的时间!

2 个答案:

答案 0 :(得分:2)

您的DOM(qtycart)中似乎有重复的ID。您应该使用类名'qtycart'代替:

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

如果您要定位正确的元素,则.focus()方法会起作用。这是一个模拟你想要做的事情的小演示:http://jsfiddle.net/6VZf3/2/

以下是W3C对ID attribute所说的内容:

  

id = 名称 [CS]

     

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

答案 1 :(得分:0)

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

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

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

希望这有帮助。

鲍勃