jQuery从附加HTML的元素中获取值

时间:2016-04-07 08:40:49

标签: javascript jquery html

我附加了一个带拖放库的表,用于上传文件。但是,当删除文件时,我需要为此文件创建名称和描述。但是,当有人写下名字时,我似乎无法从文本框中获取元素。

这是代码和我的尝试。

$.each(data.files, function (index, file) {
         $('#TestTable > tbody:last-child').append('<tr><td>' + file.name + '</td><td><input id="file-upload-title' + file.name + '" type="text"></td></tr>');

            data.context = $('<button/>').text('Upload')
            .addClass("btn btn-primary start")
            .appendTo('#TestTable > tbody:last-child')
            .click(function () {
                    // This is the problem
                   alert($('#file-upload-title' + file.name).val()); = undefined
            });

        });

您可以看到我在附加表格时使用file-upload-title输入文本对象的唯一ID(如果文件很多)

如何在文档加载后通过编写HTML来获取值?

修改

$('#file-upload-title' + file.name)但有val()

有一个对象

谢谢

1 个答案:

答案 0 :(得分:3)

您可以使用this关键字来引用引发事件的元素,而不是将选择器混合在一起。从那里,您可以使用DOM遍历方法来查找相关的input。你没有展示你的HTML所以我不能给你一个具体的例子,但它会是这样的:

// your code...
.click(function () {
    var $input = $(this).closest('tr').find('input');
    console.log($input.val());
});