2017-02-22 25 views
1

Я занимаюсь пейджером, и я создал функцию, которая вызывается после загрузки документа, но по какой-то причине, когда я пытаюсь использовать это второй раз, я получаю ошибку «не является функцией», я хотел бы знать, почему это происходит код выглядит следующим образом:jquery: Я могу использовать функцию только один раз, ошибка «не является функцией»

нагрузки Этот документ при запуске страницы

$(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]); 
      } 
     }); 
    } 

    }); 

код, вызывает пейджер:

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>'; 
     } 

оставляя функцию разбиения на страницы за пределами готового события и его инициализации, все работает отлично, но в этом случае я не могу восстановить значения входов

$(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]); 
     } 
    }); 
} 

Я не понимаю, почему я не могу продолжать использовать функция пагинация в первом случае

+0

положить 'вар textoPag = $ ("# textoPag") Val();' (и следующая строка) также в 'document.ready()' – Jeff

+0

или получить значения thos e input _inside_ 'function pagination (..)' – Jeff

+0

Если вы добавите демо-версию проблемы, я могу оказать дополнительную помощь. –

ответ

0

Попробуйте сделать вашу функцию в глобальной переменной:.

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)); 

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

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