不确定要如何应对以下情况和所需的帮助。
我有一个form
,该行具有可拖放的行,并且运行良好。我的问题是,我想在行不匹配page load
时禁用某些按钮,而在行不匹配时重新启用。
到目前为止,我拥有下面的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');
}
正如我所说的那样,拖放和禁用/启用功能在其他所有方面都工作正常,例如我disable
更改了input
时列出的按钮,但是不确定div
row
移动时如何执行此操作。
它的一部分正常工作,但在移动其他DIV时卡住了,因为第一块可以正常工作,但其他总是落入Else
答案 0 :(得分:1)
对于callback function
,您也可以像下面这样给sortable
$( ".selector" ).sortable({
change: function( event, ui ) {}
});
答案 1 :(得分:0)
负责拖放处理的代码在哪里?
现在,我认为这是由.sortable()
完成的。然后,您必须查看此函数的文档,并搜索在拖放时触发的事件,并附加一个侦听器,然后该侦听器将调用禁用/启用按钮。
类似的东西:
/*...*/.sortable({
dragStart: addDisable,
dragEnd: removeDisable
})
如果要根据特定条件启用/禁用,那么当然也必须在事件处理程序中实现。