2013-08-27 5 views
0

EDIT 3: Теперь он работает. Благодаря предложению Димитара, включите переупорядочивание и перезапуск apache, он теперь решен. Спасибо вам всем. Порядок включения, показанный в редакции 2, является фактическим порядком.JQuery tablesorter Uncaught TypeError: Object # <HTMLDocument> не имеет метода 'ready'

EDIT 2:

Проверка документации Я увидел, что включает в себя, где всегда в том же порядке, так что я заказана мой включает в себя. Теперь нет ошибки, но она не работает. Кто-нибудь знает почему?

Новый заказ:

<?php use_helper('Javascript','Form') ?> 
<?php use_javascript('toggleTabActive') ?> 
<?php echo javascript_tag("toggleTabActive(15)"); ?> 
<?php use_javascript('/sfProtoculousPlugin/js/prototype.js'); ?> 
<?php use_javascript('/sfProtoculousPlugin/js/effects.js'); ?> 
<?php use_javascript('/sfProtoculousPlugin/js/controls.js'); ?> 
<?php use_javascript('jquery-1.3.2.min.js'); ?> 
<?php use_javascript('jquery-latest.js'); ?> 
<?php use_javascript('jquery.tablesorter.min.js'); ?> 
<?php use_stylesheet('tablesorter/style.css') ?> 

EDIT 1: После @Dimitar предложение я использовал noconflict для JQuery. Сейчас:

<script type="text/javascript"> 
var $j = jQuery.noConflict(); 
$j(document).ready(function(){ 
$j(".urTable").tablesorter(); 
}); 
</script> 

Ошибки указаны:

1: GET http://sdbweb/css/tablesorter/bg.gif 404 (Not Found)

2: Uncaught TypeError: Object #<Object> has no method 'dispatchEvent'

"1" должна быть какая-то проблема путь связан с одним из изображений, включенных по TableSorter CSS , Я рассмотрю это позже.

"2" относится к prototype.js. Я предполагаю, что он также использует JQuery, поэтому конфликт может быть вызван. Любая рекомендация по наилучшей практике для решения этой проблемы?

ORIGINAL:

Это мой первый раз, используя JQuery, так что извините, если я что-то довольно очевидное спрашивать.

Я только что начал новую работу, и мой босс попросил меня внести некоторые изменения во внутреннюю webapp, и я хочу добавить возможности сортировки в одну из таблиц. Я узнал о tablesorter и начал работу.

Это не работает прямо сейчас, и я не знаю почему. При проверке консоли хром javascript появляется следующее сообщение: Uncaught TypeError: Object #<HTMLDocument> has no method 'ready'

Я столкнулся с поиском похожих проблем, и, как правило, это было плохое включение JQuery или разрешений. Я уверен, что это не разрешения, в том числе, я не знаю.

Приложение использует symfony 1.2, и обновление сейчас не является вариантом.

Мой заголовок выглядит следующим образом:

<?php use_helper('Javascript','Form') ?> 
<?php use_javascript('toggleTabActive') ?> 
<?php use_javascript('jquery-latest.js'); ?> 
<?php use_javascript('jquery.tablesorter.min.js'); ?> 
<?php use_javascript('jquery-1.3.2.min.js'); ?> 
<?php echo javascript_tag("toggleTabActive(15)"); ?> 
<?php use_javascript('/sfProtoculousPlugin/js/prototype.js'); ?> 
<?php use_javascript('/sfProtoculousPlugin/js/effects.js'); ?> 
<?php use_javascript('/sfProtoculousPlugin/js/controls.js'); ?> 
<?php use_stylesheet('tablesorter/style.css') ?> 

<script type="text/javascript"> 
$(document).ready(function(){ 
$(".urTable").tablesorter(); 
}); 
</script> 

И стол:

<table class="tablesorter urTable" width="100%" cellspacing="0" cellpadding="1" border="0"> 
     <thead> 
     <tr class="collection-as-table"> 
      <th class="collection-as-table"></th> 
      <th class="collection-as-table">Access</th> 
      <th class="collection-as-table">Name</th> 
      <th class="collection-as-table">Activity</th> 
      <th class="collection-as-table">Machine</th> 
      <th class="collection-as-table">Activation Date</th> 
      <th class="collection-as-table">Mail</th> 
      <th class="collection-as-table">UR</th> 
     </tr> 
     </thead> 
     <tbody> 
     [...] 
     </tbody> 
     </table> 

Любые идеи, рекомендации, учебники, объяснения ...?

Спасибо за ваше время.

+0

ли любой из ваших Javascript переопределения $? –

+0

Также обратите внимание, что существует стенограмма готовности: $ (function() {}); –

+0

@Jim Cote: Я предполагаю, что прототип должен пересматривать $. Кажется, я нашел это в другом ответе. Лучшая практика, чтобы избежать столкновения? – miguelbernadi

ответ

0

похоже, что вы загружаете Prototype и переопределяет $.Попытайтесь удалить тот или другой файл или посмотрите на jQuery's noconflict mode.

Из ссылке:

var $j = jQuery.noConflict(); 
// $j is now an alias to the jQuery function; creating the new alias is optional. 

$j(document).ready(function() { 
    $j(".urTable").tablesorter(); 
}); 
+0

Я попытался заменить

 Смежные вопросы

  • Нет связанных вопросов^_^