Jquery 将焦点切换到单击以动态添加文本输入
在回答这个问题之前,我要说我是一个jquerynoob——这只是学习过程的开始 我目前在一家网上商店工作。我们与购物车集成的功能之一是“快速添加”字段(id=“cc”) “快速添加”字段下面是一个表,该表动态填充了项目行。在每个动态添加的项目行中都有一个“数量”文本字段(id=“qtycart”),以防客户希望在项目添加到购物车后更改其数量 以下是我想做的: 我希望客户能够向“快速添加”文本输入中添加文本,然后单击提交按钮。单击submit按钮后,我希望焦点从该输入更改为下面新添加行上的“数量”输入 这有意义吗 下面是我编写的一个简单函数,但我显然遗漏了一些东西:Jquery 将焦点切换到单击以动态添加文本输入,jquery,input,focus,onclick,live,Jquery,Input,Focus,Onclick,Live,在回答这个问题之前,我要说我是一个jquerynoob——这只是学习过程的开始 我目前在一家网上商店工作。我们与购物车集成的功能之一是“快速添加”字段(id=“cc”) “快速添加”字段下面是一个表,该表动态填充了项目行。在每个动态添加的项目行中都有一个“数量”文本字段(id=“qtycart”),以防客户希望在项目添加到购物车后更改其数量 以下是我想做的: 我希望客户能够向“快速添加”文本输入中添加文本,然后单击提交按钮。单击submit按钮后,我希望焦点从该输入更改为下面新添加行上的“数量”
$("#cc").live("click", function(){
$("#qtycart:text:visible:last").focus();
});
非常感谢您抽出时间 您的DOM(qtycart)中似乎有重复的ID。您可能应该改用类名“qtycart”:
$("#cc").live("click", function(){
$(".qtycart:text:visible:last").focus();
});
如果针对的是正确的元素,则.focus()
方法确实有效。这里有一个小演示来模拟您正在尝试的操作:
以下是W3C关于
id=name[CS]
此属性为元素指定名称。这
名称在文档中必须是唯一的
我想我理解你的问题了。看看这个例子: 您可以输入一个新项目,数量输入框将获得焦点 希望这有帮助
每个元素的“id”都应该是唯一的。