拖动和排序在 javascript 中不起作用
dragging and sorting is not working in javascript
当我通过ajax插入数据时,我使用了
$( "#example_wrap" ).load(window.location.href + " #example" );
重新加载 div,但完成后,我的拖动和排序列表不起作用,所以我只使用
sort_table;
$('#example tbody').sortable('destroy');
$('#example tbody').unbind();
sort_table;
排序函数赋值给变量sort_table
sort_table =
$( "#example tbody" ).sortable({
axis: 'y',
update: function (event, ui) {
var self = $(this)[0];
var tr = $(self).find('tr');
topnews_a = [];
var order = 1;
$(tr).each(function(){
var content_id = parseInt( $(this).attr('content_id') );
var order_id = order;
topnews_a.push({
content_id: content_id,
order_id: order_id,
});
order++;
});
var topnews_obj = JSON.stringify(topnews_a);
var data_a = {
topnews: topnews_obj
}
$.ajax({
type:"POST",
url: base_url+"topnews/do_order",
data: data_a,
beforeSend:function(){
//$('.clearClassBlock').html('<div class="alert alert-danger alert-dismissable">Select A Section.</div>');
},
complete:function(){
},
success:function(x){
alert('Order Changed Successfully');
},
error:function(x){
}
});
}
});
第一件事: 根据 MDN 未命名函数(分配给变量的函数)应附加到事件以进行回调。
之后
sorting functions are assigned to the variable sort_table
一旦将其分配给变量,这就不是排序函数,它现在是函数表达式,因为定义没有 function 关键字作为第一条语句。
当您在没有 ()
的情况下调用变量时,它将 return 表达式定义作为您询问变量的值(不调用函数)。
所以你需要调用你的函数表达式。
sort_table();
sort_table
应在调用前声明。
另外你可以参考this如何命名一个javascript函数并立即执行它?
当我通过ajax插入数据时,我使用了
$( "#example_wrap" ).load(window.location.href + " #example" );
重新加载 div,但完成后,我的拖动和排序列表不起作用,所以我只使用
sort_table;
$('#example tbody').sortable('destroy');
$('#example tbody').unbind();
sort_table;
排序函数赋值给变量sort_table
sort_table =
$( "#example tbody" ).sortable({
axis: 'y',
update: function (event, ui) {
var self = $(this)[0];
var tr = $(self).find('tr');
topnews_a = [];
var order = 1;
$(tr).each(function(){
var content_id = parseInt( $(this).attr('content_id') );
var order_id = order;
topnews_a.push({
content_id: content_id,
order_id: order_id,
});
order++;
});
var topnews_obj = JSON.stringify(topnews_a);
var data_a = {
topnews: topnews_obj
}
$.ajax({
type:"POST",
url: base_url+"topnews/do_order",
data: data_a,
beforeSend:function(){
//$('.clearClassBlock').html('<div class="alert alert-danger alert-dismissable">Select A Section.</div>');
},
complete:function(){
},
success:function(x){
alert('Order Changed Successfully');
},
error:function(x){
}
});
}
});
第一件事: 根据 MDN 未命名函数(分配给变量的函数)应附加到事件以进行回调。
之后sorting functions are assigned to the variable sort_table
一旦将其分配给变量,这就不是排序函数,它现在是函数表达式,因为定义没有 function 关键字作为第一条语句。
当您在没有 ()
的情况下调用变量时,它将 return 表达式定义作为您询问变量的值(不调用函数)。
所以你需要调用你的函数表达式。
sort_table();
sort_table
应在调用前声明。
另外你可以参考this如何命名一个javascript函数并立即执行它?