2014-02-03 3 views
0

У меня возникла проблема, когда я не мог запускать javascript для DataTables.net на Joomla 1.5. Сценарий, как то, что он находится на DataTablesНевозможно добавить DataTables.net javascript в Joomla 1.5

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
     <script src="//datatables.net/download/build/nightly/jquery.dataTables.js"></script> 
     <script type="text/javascript"> 
    $(document).ready(function() { 
    var table = $('#example').DataTable(); 
}); 
</script> 

Сказать, что это Joomla вырезают мой код, мне удалось запустить Google Chart API JavaScript без каких-либо проблем. Любые эксперты здесь разделяют, почему это происходит?

ОБНОВЛЕНО:

Ниже мой код:

<?php 

    $doc = JFactory::getDocument(); 

    $doc->addScript('http://code.jquery.com/jquery-1.11.0.min.js'); 
    $doc->addScript('http://datatables.net/download/build/nightly/jquery.dataTables.js'); 
    $doc->addScriptDeclaration(' 
     $(document).ready(function() { 
      $("#example").DataTable(); 
     }); 
    '); 

    function listProcess($process,$date_sort) 
    { 
     $asas= new class_asas; 
     $sql = " 
     Select proses_pendaftaran.*, secretary.*, 
      kpps_agih.name as kpps_agih_name, 
      kpps_sokong.name as kpps_sokong_name, 
      ppps.name as ppps_name, 
      tps.name as tps_name, 
      pjs.name as pjs_name, 
      pt.name as pt_name 

     From proses_pendaftaran 
      Left join jos_users secretary On secretary.id=proses_pendaftaran.user_id 
      Left join jos_users kpps_agih On kpps_agih.id=proses_pendaftaran.kpps_agih_id 
      Left join jos_users kpps_sokong On kpps_sokong.id=proses_pendaftaran.kpps_sokong_id 
      Left join jos_users ppps On ppps.id=proses_pendaftaran.ppps_semak_id 
      Left join jos_users tps On tps.id=proses_pendaftaran.tps_perakui_id 
      Left join jos_users pjs On pjs.id=proses_pendaftaran.pjs_lulus_id 
      Left join jos_users pt On ppps.id=proses_pendaftaran.pt_rekod_id 
     Where current_process='$process' 
     Order By $date_sort DESC"; 
     //echo $sql; 
     return $asas->readAll($sql); 


    } 
    $userm = $asas->getUser(); 
    $userid = $user->get('id'); 
    $userm=$asas->getOtherUser($userid); 
    $usergroup = $userm['user_group_id']; 

    //--------------------------------------------------------------------------------------------------------------- 

    //PJS, TPS, KPPS 
    if($usergroup ==7 or $usergroup ==2 or $usergroup ==3 or $usergroup ==4 or $usergroup ==5) 
    { 
    $datas=listProcess('ppps_semak','kpps_agih_date'); 
    ?> 
    <h1 class="contentheading">Senarai Permohonan Yang Telah Diagihkan (Menunggu Tindakan PPPS/PPPS(P))</h1> 
    <table id ="example" width="100%" class="systemTable"> 
    <thead> 
     <tr> 

      <th width="20%">NAMA BADAN SUKAN</th> 
      <th width="10%">NAMA PEMOHON</th> 
      <th width="10%">TARIKH PERMOHONAN</th> 
      <th width="10%">PEGAWAI KPPS</th> 
      <th width="15%">TARIKH DIAGIHKAN</th> 
      <th width="10%">PEGAWAI PPPS</th> 
      <th width="10%">STATUS</th> 
     </tr> 
     </thead> 
     <?php 
     foreach($datas as $data) 
     { 

     ?> 
     <tr> 

      <td><?php echo strtoupper($data['NamaBadan']) ?></td> 
      <td><?php echo strtoupper($data['name']) ?><br/>[<?php echo $data['TelPejabat'] ?>]</td> 
      <td><?php echo date('d/m/Y',strtotime($data['tarikh_mohon'])) ?></td> 
      <td><?php echo strtoupper($data['kpps_agih_name']) ?></t> 
      <td><?php echo date('d/m/Y (h:ia)',strtotime($data['kpps_agih_date'])) ?></td> 
      <td><?php echo strtoupper($data['ppps_name']) ?></t> 
      <td><?php echo strtoupper($data['current_process']) ?></t> 
     </tr> 
     <?php 

     } 
     ?> 
    </table> 
    <br/> 

    <?php 
    } 
?> 

ответ

0

Попробуйте использовать следующие импортировать сценарии и добавить свой собственный код:

$doc = JFactory::getDocument(); 

$doc->addScript('http://code.jquery.com/jquery-1.11.0.min.js'); 
$doc->addScript('http://datatables.net/download/build/nightly/jquery.dataTables.js'); 
$doc->addScriptDeclaration(' 
    $(document).ready(function() { 
     $("#example").DataTable(); 
    }); 
'); 

HTML:

<table id="example"> 
    <thead> 
     <tr> 
      <th>Column 1</th> 
      <th>Column 2</th> 
      <th>etc</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>Row 1 Data 1</td> 
      <td>Row 1 Data 2</td> 
      <td>etc</td> 
     </tr> 
     <tr> 
      <td>Row 2 Data 1</td> 
      <td>Row 2 Data 2</td> 
      <td>etc</td> 
     </tr> 
    </tbody> 
</table> 

Я проверил это сам пару минут назад, и он отлично работает для меня. Скопируйте и вставьте скрипт (несколько изменений) и HTML, которые я предоставил.

+0

Нет, это не сработало. Я попытался использовать этот метод еще до того, как задал этот вопрос. Но я не знаю, кажется, что что-то о Joomla, создавая datatables js, не появляется. Я попытался запустить его за пределами joomla, и он работал отлично. Я попытался запустить Google API внутри joomla, и он отлично справился. Но не с datatables.net. Озадаченный. – mfmz

+0

@mfmz - Ваша консоль браузера сообщает о каких-либо ошибках? Кроме того, где вы добавляете этот код? – Lodder

+0

@mfmz - обновленный ответ, пожалуйста, смотрите. – Lodder

0

Прежде всего, так как вы находитесь в среде Joomla будет конфликт между MooTools и JQuery, так что вы не можете использовать

 $(document).ready(function() { $("#example").DataTable(); }); 

но вместо

 jQuery.noConflict(); 
     jQuery(document).ready(function() { jQuery("#example").DataTable(); }); 

другими словами, вы не можете используйте $ при наличии библиотеки mootools.

Вы также можете использовать Tabulizer для Joomla (http://www.tabulizer.com), который имеет все функции datatables без проблем.

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