Итак, у меня есть 2 html-страницы. 1, который функционирует как контейнер и 1, который функционирует как контент. Когда я загружаю страницу содержимого в таблицу, я могу использовать перетаскивание.
Но когда я перехожу на мою страницу с контейнером и загружаю страницу контента в div с помощью ajax, перетаскивание перестает работать. Все остальные функции javascript внутри страницы контента все еще работают. Как связать плагин jquery dnd с таблицей, загруженной с помощью ajax?
Я использую drag and drop с этим в качестве учебника 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 и использовать на нем перетаскиватель jQuery.
ИЗМЕНИТЬ
Выводы:
Как-то моя таблица на странице контейнера переименовалась в pSqlaTable вместо идентификатора, который я дал ей на странице контроллера.
<table id="tableDiagnose" class="table table-hover">
Вот почему код не смог найти таблицу annymore. Исправлено этим кодом благодаря Fábio Batista:
$('#diagnoses_zelf table').tableDnD( ... );
но как я могу теперь использовать плагин dnd?
Теперь он находит таблицу, но я до сих пор не могу привязать к ней плагин dnd. Могу ли я подключить jquery-plug-in к загруженным таблицам 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)?