J’essaie de comprendre une erreur avec JQuery lorsque j’ai essayé de créer des tabs pour mon application ASP.Net (je suis un novice dans JQuery) ..
Ci-dessous se trouve le code que j’essaie, lorsque j’ai essayé de déboguer avec Chorme Dev.tool a trouvé l’erreur “aucune méthode n’a été ‘ajoutée’ pour l’instance de widget d’tabs” et j’ai découvert “tabsDiv.tabs (” add “,” #main “, pages [i] [0]); ” cela ne fonctionne plus car la méthode “add” est obsolète à partir de la nouvelle version de JQuery. Quelqu’un pourrait-il m’aider à trouver un moyen de surmonter ce problème?
$(document).ready(function () { var pages = [ ['Events', "/Listings.aspx", "/AddEvent.aspx", "UpdateOrDelete.aspx"], ['Performance', "/Performance.aspx"] ]; var myPage = ''; var tabsDiv = $('#masterTabsDiv'); tabsDiv.tabs({ select: function (event, ui) { document.location = pages[ui.index][1]; return false; } }); var indexToSelect = 0; for (var i = 0; i < pages.length; i++) { for (j = 0; j < pages[i].length; j++) { if (pages[i][j] == myPage) { indexToSelect = i; window.alert("set block 2"); break; } } tabsDiv.tabs("add", '#main', pages[i][0]); } window.alert("set block 4"); tabsDiv.find('li').removeClass('ui-tabs-selected ui-state-active'); tabsDiv.find('li').eq(indexToSelect).addClass('ui-tabs-selected ui-state-active'); });
Merci, Raam
Depuis jQuery UI 1.10, vous devez append un nouvel élément li
au DOM, puis appeler .tabs("refresh")
. Votre code ressemblera donc à
var tabsDiv = ('#masterTabsDiv'); tabsDiv.find('ul').append("New Tab "); tabsDiv.append("New content"); tabsDiv.tabs("refresh");