2017-02-22 1 views
1

Ich mache einen Pager und ich habe eine Funktion erstellt, die aufgerufen wird, sobald das Dokument geladen wird, aber aus irgendeinem Grund, wenn ich versuche zu verwenden es ein zweites Mal, erhalte ich die Fehlermeldung „keine Funktion“, weiß ich möchte, warum dieser Kodex geschieht, ist wie folgt:jquery: Ich kann eine Funktion nur einmal verwenden, "ist keine Funktion" Fehler

Dieses Dokument lädt, wenn

$(function(){ 
    var textoPag=$("#textoPag").val(); 
    var tipoBusq=$("#tipoBusq").val(); 


     pagination(1); 

     function ajax_start(){ 

      $body = $("body"); 
      $body.addClass("loading"); 
     } 

     function ajax_stop(){ 
      $body = $("body"); 
      $body.removeClass("loading"); 
     } 


    function pagination(partida){ 
     var url = MODELO+'paginacion.php'; 
     params={act:"paginacion", 
       part:partida, 
       palabra:textoPag 
       } 
     $.ajax({ 
      type:'POST', 
      url:url, 
      data:params, 
      success:function(data){ 
       var array = eval(data); 
       console.log(array[1]); 
       $("#contePag").append(array[1]); 
       //$('#agrega-registros').html(array[0]); 
       $('#pagination').html(array[0]); 
      } 
     }); 
    } 

    }); 

Der Code der Seite beginnend, dass ruft den Pager an

switch ($actividad) { 
      case 'paginacion': 
       $paginaActual = $_POST['part']; 
       $palabra=$_POST['palabra']; 
       $string = SERVER."paginador"; 
       $data = file_get_contents($string); 
       $json = json_decode($data,true); 


       if ($json["success"]==true) 
       { 
       $nroPag=$json["cont"]; 
       $nroLotes = 2; 
       $nroPaginas = ceil($nroPag/$nroLotes); 
       $lista = ''; 
       $tabla = ''; 
       } 
       if($paginaActual > 1){ 
       $lista = $lista.'<li><a href="javascript:pagination('.($paginaActual-1).');">Anterior</a></li>'; 
       } 
     for($i=1; $i<=$nroPaginas; $i++){ 
      if($i == $paginaActual){ 
       $lista = $lista.'<li class="active"><a href="javascript:pagination('.$i.');">'.$i.'</a></li>'; 
      }else{ 
       $lista = $lista.'<li><a href="javascript:pagination('.$i.');">'.$i.'</a></li>'; 
      } 
     } 
     if($paginaActual < $nroPaginas){ 
      $lista = $lista.'<li><a href="javascript:pagination('.($paginaActual+1).');">Siguiente</a></li>'; 
     } 

die Funktion Paginierung außerhalb des bereiten Ereignisses verlassen und Initialisieren es funktioniert alles in Ordnung, aber in diesem Fall kann ich die Werte der Eingänge

$(document).ready(pagination(1)); 
    $(function(){ 
    ............ 
    ........... 
    }); 
    function pagination(partida){ 
    var url = MODELO+'paginacion.php'; 
    params={act:"paginacion", 
      part:partida, 
      palabra:textoPag 
      } 
    $.ajax({ 
     type:'POST', 
     url:url, 
     data:params, 
     success:function(data){ 
      var array = eval(data); 
      console.log(array[1]); 
      $("#contePag").append(array[1]); 
      //$('#agrega-registros').html(array[0]); 
      $('#pagination').html(array[0]); 
     } 
    }); 
} 

Ich verstehe nicht, nicht mehr erholen, warum ich die Verwendung von nicht fortgesetzt werden kann Paginierung Funktion im ersten Fall

+0

put 'var textoPag = $ ("# textoPag") val();' (und die nächste Zeile) auch in 'document.ready()' – Jeff

+0

oder erhalten Sie die Werte von denen Eingaben _inside_ 'Funktion Paginierung (..)' – Jeff

+0

Wenn Sie eine Demo des Problems hinzugefügt haben, könnte ich weitere Hilfe anbieten. –

Antwort

0

Ihre Funktion in eine globale Variable Versuchen machen.

var pagination; 

    $(function(){ 
    ............ 
    ........... 
    }); 
    var pagination = function (partida){ 
    var url = MODELO+'paginacion.php'; 
    params={act:"paginacion", 
      part:partida, 
      palabra:textoPag 
      } 
    $.ajax({ 
     type:'POST', 
     url:url, 
     data:params, 
     success:function(data){ 
      var array = eval(data); 
      console.log(array[1]); 
      $("#contePag").append(array[1]); 
      //$('#agrega-registros').html(array[0]); 
      $('#pagination').html(array[0]); 
     } 
    }); 
} 

$(document).ready(pagination(1));