javascript - 如何通过 javascript/jquery 自动聚焦新生成的文本框

标签 javascript php jquery html

我正在 php 程序中单击的按钮上生成一个新的文本框 HTML代码写为

<table id="additional_item_numbers">
<thead>
<tr>
<th>Item</th>
<th>&nbsp;Delete</th>
</tr>
</thead>

<tbody>
<tr><td><input type="text" class="form-control form-inps" size="50" name="additional_item_numbers[]" value="123" /></td><td>
<a class="delete_item_number" href="javascript:void(0);">Delete</a>
</td><tr>
</tbody>
</table>

我正在使用此代码生成一个新的文本框

<script type="text/javascript" language="javascript">
$("#additional_item_numbers").keyup(function(event){
    if(event.keyCode == 13){
        $("#additional_item_numbers tbody").append('<tr><td><input type="text" class="form-control form-inps" size="40" name="additional_item_numbers[]" value="" autofocus /></td><td>&nbsp;</td></tr>');
    }
});
</script>

这成功地在所需的位置生成了一个新的输入框,但它不会自动聚焦新生成的输入文本框。 我想自动聚焦新生成的文本框。 关键字 autofocus 也不起作用,因为我已经测试过了。

任何帮助将不胜感激。

编辑: 提交表单后,通过以下代码在表单提交上调用一个函数

if ($this->input->post('additional_item_numbers') && is_array($this->input->post('additional_item_numbers')))
                {
                    $this->Additional_item_numbers->save($item_id, $this->input->post('additional_item_numbers'));
                }
                else
                {
                    $this->Additional_item_numbers->delete($item_id);
                }

被调用的函数是class的一部分,名为Additional_item_numbers,定义为

function save($item_id, $additional_item_numbers)
    {
        $this->db->trans_start();

        $this->db->delete('additional_item_numbers', array('item_id' => $item_id));

        foreach($additional_item_numbers as $item_number)
        {
            if ($item_number!='')
            {
                $this->db->insert('additional_item_numbers', array('item_id' => $item_id, 'item_number' => $item_number));
            }
        }

        $this->db->trans_complete();

        return TRUE;
    }

但仅当值在 3 到 5 或最多 10 范围内时,它才会将值添加到数据库中... 如果我们添加超过 10 个附加项目编号。它不会添加所有值或有时会添加其中一些值。 昨天,我们提交了 150 个值,但它只将其中的 5 个添加到数据库中。

最佳答案

尝试下面的代码。

$("#additional_item_numbers").find("input[type='text']").last().focus();

关于javascript - 如何通过 javascript/jquery 自动聚焦新生成的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28924780/

相关文章:

javascript - bootstrap.js Accordion 活跃指数?

javascript - 正确更新 D3 饼图

javascript - 移动设备上的 jQuery 脚本

javascript - 如何在 Javascript 中仅使用过滤器获取唯一数组

Javascript 引用 php 中的 id 元素

javascript - 使用javascript获取国家代码

javascript - 当 Angularjs 有很多表时,如何一次显示一张表?

php - 如何使用 jQuery UI 对话框确认数据库行删除?

php - PHP 的 serialize() 函数的 JavaScript/jQuery 版本

javascript - [ASP .NET]Jquery UI 模式对话框不起作用