javascript - 如何获取动态生成的文本框的ID?

标签 javascript jquery asp.net jquery-ui

如何使用 jquery 获取动态生成的文本框的 id?我需要触发相应文本框的 TextChanged 事件。后面的代码中没有文本框的方法引用。我如何在触发事件时引用代码隐藏中的任何方法。请有人帮忙。我对 jquery 不太了解。我使用的整个脚本如下:

<script type="text/javascript">

$(init);

function init()
{
    $('#test').droppable(// Div Control
    {
        drop: handleDropEvent
    });

    $('a').each(function(idx, item) {
        $(item).draggable({ cursor: 'move', helper: 'clone' })
    });
}

$(function() {
    $("#draggable").draggable(); //Nothing to do with this div
});

function handleDropEvent(event, ui)
{
    var draggable = ui.draggable;
    document.getElementById('test').innerHTML += addColumn(draggable.attr('text')) + '<br>';
}

function addColumn(column)
{
    var iHtml;
    // This code will generate a checkbox and a textbox. I need to fire the event of thus generated textboxes.
    iHtml = '<div id="dv' + column + '" width="100px;" height="20px;" padding: "0.5em;">&nbsp;' + '<span title="ToolTipText">' + '<input type="checkbox" id="cb' + column + '" value="' + column + '" /> <label for="cb' + column + '">' + column + '</label></span><input type="text" runat="server" id="aln' + column + '">&nbsp;</div>';

    return iHtml;
}
</script>

最佳答案

有两种方法:保留生成的元素,或者在生成新元素时生成 ID。

a) 保留生成的元素

这要求你不使用innerHTML,而是创建元素(使用document.createElement,或者使用jQuery的$),然后你就可以使用该元素直接(不再需要通过ID调用它)。例如,使用 jQuery:

var container = $('#container');
var myDiv = $('<div id="myDiv"/>');
var myCheck = $('<input type="checkbox"/>');
myDiv.append(myCheck);
container.append(myDiv);

b) 生成 ID

container.innerHTML = '<div id="myDiv"><input type="checkbox" id="myCheck"/></div>';
// and after this you can get them by ID:
var myCheck = $('#myCheck');

关于javascript - 如何获取动态生成的文本框的ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5751580/

相关文章:

c# - 无法更新备用 key Entity Framework 核心 1.0

javascript - 通过 ng-click Angular 使用 Controller View 中的数据

javascript - 通过 JavaScript 以编程方式更改复选框时触发事件

php - 在 Bootstrap 多选中保留默认选定值

javascript - 元素轮播 Bootstrap

c# - 部分反序列化 JSON 以仅获取必需的属性

javascript - 在 JavaScript 中的特定时间停止循环

javascript - jQuery var width 不适用于没有下拉菜单的菜单

javascript - 如何将 JQuery InputMask 与 HTML 模式一起使用

asp.net - 使用 Angular 从 webapi 检索单个值