如何把重点放在jquery动态创建文本框上
How to put focus on jquery dynamically created textbox?
我有一个新的产品表单动态创建的文本框为"Available Color"。我要做的是将焦点分配到新文本框上。这是我的代码。
<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript'>
$(window).load(function(){
$(document).ready(function () {
colorCounter = 2;
sizeCounter = 2;
$("#addColorButton").click(function () {
if (colorCounter > 10) {
alert("Only 10 colors allowed");
return false;
}
//This has been edited to show the solution
var newTextBoxDiv = $(document.createElement('div'))
.attr("id", 'ColorTextBoxDiv' + colorCounter);
newTextBoxDiv.after().html('<label>Color #' + colorCounter + ' : </label>' +
'<input type="text" name="AvailableColor' + colorCounter +
'" id="colorTextbox' + colorCounter + '" value="" >');
newTextBoxDiv.appendTo("#ColorTextBoxesGroup");
$('#colorTextbox' + colorCounter).focus();
colorCounter++;
});
});
});
</script>
<form name="newProductForm" id="newProductForm" action="index.cfm" method="post">
<div id='ColorTextBoxesGroup'>
<div id="ColorTextBoxDiv1">
<label>Color #1 :</label>
<input type='text' id='colorTextbox1' name="AvailableColor1" />
</div>
</div>
<input type='button' value='Add More Colors' id='addColorButton'>
</form>
var myTextbox似乎在第一次点击后评估为"colorTextbox2",但焦点没有移动到新创建的文本框。
如果我改变$('#myTextbox').focus();美元(# colorTextbox2) .focus ();然后焦点被移动到新的文本框。当然,另一个按钮点击,焦点留在textbox2。
如果你能帮我这个忙,我会很感激的。谢谢!
要定位元素,您可以像这样将变量连接到字符串选择器中:
$('#colorTextbox' + colorCounter).focus();
相关文章:
- 如何在javascript中创建动态json对象
- 如何创建动态ajax提交表单
- 如何在javascript中创建动态正则表达式
- 如何使用pouchdb创建动态查询(couchdb可能也是如此)
- 如何在jquery mobile中使用json文件创建动态下拉菜单
- 基于所选下拉列表值创建动态复选框
- 使用推动创建动态对象
- 在浏览器窗口中创建动态灵活的分割标记
- 将字符串与integer连接,用作jquery中的变量(创建动态变量)
- 创建动态javascript对象
- 如何使用指令属性值创建动态模板
- 使用 JavaScript 创建动态下拉列表
- 如何在创建动态 HTML 页面时使用日期选择器
- 使用javascript中的append创建动态下拉列表
- Jquery - 创建动态名称选择器
- 如何根据查询字符串值创建动态超链接
- 使用javascript创建动态多维关联数组
- 使用javascript创建动态二级下拉列表
- 在JavaScript中创建动态绑定
- 在JS中创建动态对象