0

我一直在玩这行代码,试图让它正常运行但没有成功决定在这里发布,希望有人能提供帮助。

我的问题围绕着使用 DRAGGABLE / DROPPABLE 和 Json 的 JQUERY UI。这是我的代码:

$('.drag').draggable({
        helper: 'clone'
    });
    $(".drop").droppable({
        drop: function(e, ui) {
            var dataString = 'type='+ui.draggable.clone().find('.type').attr('id')+'&update=update';
            $.ajax({
                url: 'phphandler.php',
                type: 'POST',
                data: dataString,
                dataType: 'json',
                success: function(json) {
                    $(this).append(ui.draggable.clone().html(json.Data));
                },
                error: function() {
                    alert(ui.draggable.clone().html);
                }
            });
        }
});

我的 HTML 本质上是:

<div class="drag">Object</div>
<div class="drop"></div>

几乎我要做的就是在成功后将克隆附加到删除或在成功后更改克隆的 html。

注意:我可以毫无问题地在 Ajax 请求之前追加,但成功后无法更改克隆的 HTML。

4

1 回答 1

0

注意函数的范围

尝试

$.ajax({
                url: 'phphandler.php',
                type: 'POST',
                data: dataString,
                dataType: 'json',
                context: this,
                success: function(json) {
                    $(this).append(ui.draggable.clone().html(json.Data));
                },
                error: function() {
                    alert(ui.draggable.clone().html);
                }
            });

或者

var dataString = 'type='+ui.draggable.clone().find('.type').attr('id')+'&update=update';
           var tmp = $(this);
           $.ajax({
                url: 'phphandler.php',
                type: 'POST',
                data: dataString,
                dataType: 'json',
                success: function(json) {
                    tmp.append(ui.draggable.clone().html(json.Data));
                },
                error: function() {
                    alert(ui.draggable.clone().html);
                }
            });
于 2012-08-07T05:02:14.003 回答