Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在拖动时禁用按钮&;drop div行已在jQuery中移动_Javascript_Jquery - Fatal编程技术网

Javascript 如何在拖动时禁用按钮&;drop div行已在jQuery中移动

Javascript 如何在拖动时禁用按钮&;drop div行已在jQuery中移动,javascript,jquery,Javascript,Jquery,不确定如何攻击以下场景 我有一个表单,其中有一行可以拖放,这非常有效。我遇到的问题是,我想在行与页面加载不匹配时禁用一些按钮,然后在它们匹配时重新启用 到目前为止,我有以下jQuery代码: var $form = $('form'), origForm = $form.serialize(); // Drag & drop for existing rules $(function () { $("#sortableRows").sortable();

不确定如何攻击以下场景

我有一个
表单
,其中有一行可以拖放,这非常有效。我遇到的问题是,我想在行与页面加载不匹配时禁用一些按钮,然后在它们匹配时重新启用

到目前为止,我有以下jQuery代码:

var $form = $('form'),
origForm = $form.serialize();

// Drag & drop for existing rules
    $(function () {
        $("#sortableRows").sortable();
        $("#sortableRows").disableSelection();
    });

    // Check to see if form defaults have changed
$('form :input').change(function () {
    if ($form.serialize() !== origForm) {
        addDisable();
    } else {
        removeDisable();
    }
});

// Added the disabled attribute when form changes
var addDisable = function () {
    $("button[name='addButton'], button[name='modifyButton'], button[name='deleteButton'], button[name='activeButton'], button[name='inactiveButton'], input[name='searchDialPlanBox']").attr('disabled', true);
}

// Removes the disabled attribute
var removeDisable = function () {
    $("button[name='addButton'], button[name='modifyButton'], button[name='deleteButton'], button[name='activeButton'], button[name='inactiveButton'], input[name='searchDialPlanBox']").removeAttr('disabled');
}
正如我所说,拖放和禁用/启用功能与其他功能一样工作正常,例如,当
输入更改时,I
禁用列出的按钮,但不确定在移动
div
行时如何执行

它的一部分工作正常,但在移动其他div时卡住,因为第一个on工作正常,但其他div总是落入
Else


负责拖放处理的代码在哪里?
现在,我假设这是由
.sortable()
完成的。然后,您必须查看该函数的文档,搜索在拖放时触发的事件,并附加一个侦听器,然后调用disable/enable按钮

比如:

/*...*/.sortable({
  dragStart: addDisable,
  dragEnd: removeDisable
})

如果您想根据特定条件启用/禁用,那么当然也必须在事件处理程序中实现。

您还可以为
可排序的
提供如下
回调函数

$( ".selector" ).sortable({
    change: function( event, ui ) {}
});

请看我的其他帖子,看看你是否能帮上忙,因为我的第一个剧组就是这样的,但其他的剧组都属于我的“Else”