ajax - 在ajax的div.append中的id属性中添加变量

标签 ajax django jquery django-templates

我正在使用 Django 开发一个 Web 应用程序,并且我有一个 ajax,我可以在其中刷新数据库中的一些图像,以便在模板中显示它们。

function refreshUploadedImages() {
    var inputs = ['Designer Name', 'Color', 'Fabric', 'Type', 'Tag', 'Subtag'];
    $.getJSON('/admin/image-uploader/images', function(data) {
        $('#uploadedFiles').empty();
        for (uiid in data) {
            ui = data[uiid];

            var div = $('<div>');
            div.data('id', ui.id);
            // image
            var image = new Image();
            image.src = ui.url
            image.width = 180;
            div.append($('<div>').append(image));
            // list
            var ul = $('<ul>')
            div.append(ul)
            // inputs
            for (input in inputs) {
                ul.append(
                    $('<li>').append(
                    $('<label>').append(
                    $('<span>').append(document.createTextNode(inputs[input] + ':'))
                ).append($('<input>')))); 
            }
            $('#uploadedFiles').append(div);
            div.append('<li><input type="button" class="delete-img-btn" id = <<ui.id>> img-id=image.id value="Delete"/></li>'); 
        }
        $(window).trigger('uploadedImagesRefresh');
    });

    $(function(){
    //
        $('.delete-img-btn').live('click', function() {

            //asign the image id from the button attribute 'img-id'
            var id= $(this).attr('img-id');
            //The data to be send via ajax the server will recieve 2 POST variables ie. 'action' and 'id'(which is the img id)
            var data={
            'action':'/admin/image-uploader/',
            'pk' : id,
            'success':refreshUploadedImages

            };
            //The ajax request.
            vary = $('.delete-img-btn').attr('id');
            $.post("/admin/image-uploader/delete/"+vary , data);

        });
    });
}

我的问题是,在这一行

div.append('<li><input type="button" class="delete-img-btn" id = <<ui.id>> img-id=<<<image.id>>> value="Delete"/></li>');

我想给 id 分配一个变量 ui.id即 ( id = <<ui.id>> ) 在 div.append 之外的某个地方定义。您能帮我看看该怎么做吗?

最佳答案

这就是你想做的一切吗?

div.append(
   '<li><input type="button" class="delete-img-btn" id="'
      + ui.id + '" img-id="'
      + image.id + '" value="Delete"/></li>'); 

image.id 尚未定义。

关于ajax - 在ajax的div.append中的id属性中添加变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15175631/

相关文章:

javascript - 从 SQL 数据库为 map 生成 Javascript 文件

javascript - 让 JavaScript 方法返回 jQuery AJAX 调用的结果

javascript - 是否有函数可以查找当前使用 XMLHtttpRequest 从文件加载的字节数?

即使为表单元素定义了 name 属性,JQuery form.serialize() 也会返回空字符串

Python - Django - 'InMemoryUploadedFile' 对象没有属性 'split'

python - 用户定义关系的框架

Django 休息框架和外部 api

php - 从mysql读取数据并将变量传递给jquery函数,写入textarea,不起作用

javascript - 当前 URL 和链接匹配 - 带 div 类检查

javascript - AJAX/Javascript 在表单中然后提交