所以我有 2 个 html 页面。1 用作容器,1 用作内容。当我使用表格加载内容页面时,我可以使用拖放操作。
但是当我转到我的容器页面并将内容页面加载到带有 ajax 的 div 中时,拖放停止工作。内容页面内的所有其他 javascript 功能仍然有效。如何将 jquery dnd 插件绑定到加载有 ajax 的表?
我正在使用拖放作为教程http://isocra.com/2008/02/table-drag-and-drop-jquery-plugin/
我的代码如下所示:
$(window).load(function()
{ if(temp == 0)
{
DP("eerste keer")
load_table();
temp = 1;
}
} );
function load_table()
{
DP('load_table');
$.ajax({
//async: false,
type: "POST",
url: "/diagnose_hoofdpagina/table_diagnose/" + DosierID, // <== loads requested page
success: function (data) {
$("#diagnoses_zelf").html(''); //<== clears current content of div
$("#diagnoses_zelf").append(data).trigger('create'); // <== appends requested page
},
error: function(){
alert('error');
}
}).done(function() {
update_table();
initialize_table(); // <== calls jquery plug in
});
return false;
}
function initialize_table()
{
var tableid = $('#diagnoses_zelf table').attr('id'); //< this finds the correct table thanks to Fábio Batista => this option worked, rest didn't
alert(tableid);
$(tableid).tableDnD({
onDrop: function(table, row) {
alert(table + " " + row);
},
onDragStart: function(table,row){
var tette = $(row).index;
alert(tette);
},
dragHandle: ".dragHandle"
});
}
这怎么可能,我该怎么办?任何人都可以帮我解决这个问题。
很短:我想访问我用ajax加载到我的容器页面中的表的ID,并在上面使用jquery拖放插件。
编辑
发现:
不知何故,我在容器页面中的表被重命名为pSqlaTable,而不是我在控制器页面中给它的 id。
<table id="tableDiagnose" class="table table-hover">
这就是为什么代码找不到表 annymore 多亏了 Fábio Batista,此代码已修复:
$('#diagnoses_zelf table').tableDnD( ... );
,但是我现在如何使用 dnd 插件呢?
它现在找到了表,但我仍然无法将 dnd 插件绑定到它,我可以将 jquery 插件绑定到 ajax 加载的表吗?
编辑
//drag & drop http://isocra.com/2008/02/table-drag-and-drop-jquery-plugin/
function initialize_table()
{
var tableid = $('#diagnoses_zelf table').attr('id');
alert(tableid);
$('#' + tableid).tableDnD({
onDrop: function(table, row) {
alert(table + " " + row);
},
onDragStart: function(table,row){
alert('issemer?');
},
dragHandle: ".dragHandle"
});
}
这是我仍然坚持的代码。tableid 是正确的,但 jquery 的初始化不正确。我不能拖着桌子上的卓尔人。我的语法错了吗?
编辑
难道是我无法将 jquery 绑定到表,因为我使用 ZPT(或 javascript)在另一页上动态生成表?