在表单击中动态添加超链接

时间:2014-07-02 09:29:10

标签: javascript jquery asp.net html5

我正在添加动态超链接,并希望在用户点击它时执行点击事件,但它没有启动。

 <table id="assinged_areas" class="table table-bordered table-condensed table-condensed">
            <tbody></tbody>
        </table>

当用户在DropDown中选择了一些选项然后从服务器获取区域然后ajax通过将数据传递给此函数来调用此函数

 function updateAssignedAreas(data) {

            debugger;
            var areas = data.split(',');
            $.each(areas, function (i, item) {
                $('#assinged_areas > tbody:last').append('<tr><td>' + item + '</td><td>' + '<a class=\'btn btn-danger\'><i class=\'fa fa-minus-circle\'></i></a>'
                    + '</td></tr>');
            });
        }

这是用户点击取消分配时必须调用但不能全部触发的功能

  $('.btn-danger').click(function (parameters) {
            debugger;
        });

1 个答案:

答案 0 :(得分:1)

event delegation用于动态元素

$("#assinged_areas").on("click", '.btn-danger', function (parameters) {
    var row=$(this).closest("tr");
    alert($(this).closest("tr").find("td").eq(0).html()); //will get the inner text of first td
});

事件委托允许您将单个事件侦听器附加到父元素,该元素将为匹配选择器的所有子项触发,无论这些子项现在是存在还是将来添加。