2014-12-17 2 views
3

Надеюсь, что вы можете мне помочь, тогда у меня проблема. У меня есть две аналогичные функции jQuery.Ajax, Я просто хочу сделать это в одной функции. Я действительно не знаю, как это сделать, и я надеюсь, что вы сможете мне помочьAjax Двойной код, как сделать его короче

Вот мои две функции ajax Обе функции работают нормально. Это была моя первая функция

//When the page loads it shows the three first ideas 

var total = 3; 
    var start = 0; 
    var filterName = jQuery(".select-name-filter-selector-filterPersones").val(); 
    var filterStatus = jQuery(".select-status-filter-selector-filterStatus").val(); 
    var lines = jQuery("#ajouter").val(); 
    jQuery.ajax({ 
     type: "POST", 
     url : "../scripts/ajaxSuggestions.php", 
     data:{limit:total, name:filterName, status:filterStatus, 
      start:start,lines:lines}, 
     success:function(data){ 
      jQuery("#content").append(data); 
     } 
    }); 

И тут приходит мой второй function.Allways я нажимаю на кнопку, чтобы показать больше его добавить три идеи

//click ajax function that add 3 ideas to page 
jQuery("#ajouter").click(function(){ 
     total += 3; 
     start += 3; 
     jQuery.ajax({ 
      type: "POST", 
      url : "../scripts/ajaxSuggestions.php", 
      data:{limit:total, name:filterName, status:filterStatus, 
       start:start}, 
      success:function(data){ 
       jQuery("#content").append(data); 
       if(total >= lines){ 
        jQuery("#ajouter").hide(); 
       } 
      } 

     }); 
    }); 

Я надеюсь, что вы можете мне помочь и SRY для моего плохой английский . :)

+0

Отдельных повторный код для другой функции – vijaykumar

+0

@ vijay4vijju Спасибо, но это все еще работает, потому что разностная функция мыши и в Beginn я не хочу, чтобы нажать –

ответ

1

// При загрузке страницы звоните

var total = 3; 
var start = 0; 
getSuggestion(total, start); 

// при нажатии кнопки мыши

jQuery("#ajouter").click(function(){ 
     total += 3; 
     start += 3; 
     getSuggestion(total, start); 
}); 

// Функция Defination

function getSuggestion(total, start) 
{ 
    var filterName = jQuery(".select-name-filter-selector-filterPersones").val(); 
    var filterStatus = jQuery(".select-status-filter-selector-filterStatus").val(); 
    var lines = jQuery("#ajouter").val(); 

     jQuery.ajax({ 
      type: "POST", 
      url : "../scripts/ajaxSuggestions.php", 
      data:{limit:total, name:filterName, status:filterStatus, 
       start:start}, 
      success:function(data){ 
       jQuery("#content").append(data); 
       if(total >= lines){ 
        jQuery("#ajouter").hide(); 
       } 
      } 

     }); 
} 

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

var filterName = jQuery(".select-name-filter-selector-filterPersones").val(); 
var filterStatus = jQuery(".select-status-filter-selector-filterStatus").val(); 
var lines = jQuery("#ajouter").val(); 
+0

Вау очень приятно работал для меня намного лучше Спасибо, чувак :) –

1

Создать простую функцию

function ajaxCall(limit, filterName ,filterStatus ,type) 
{ 
    jQuery.ajax({ 
      type: "POST", 
      url : "../scripts/ajaxSuggestions.php", 
      data:{limit:total, name:filterName, status:filterStatus, 
       start:start}, 
      success:function(data){ 
       jQuery("#content").append(data); 
       if(type == 1) 
       { 

        if(total >= lines){ 
         jQuery("#ajouter").hide(); 
        } 
       }else { jQuery("#content").append(data); 
       } 
      } 

     }); 
} 

Теперь на основе вашего звонка

ajaxCall (предел, FILTERNAME, filterStatus, 0)

для второго вызова

jQuery("#ajouter").click(function(){ 
     total += 3; 
     start += 3; 
     ajaxCall (limit,filterName,filterStatus,1) 
    }); 

для первой или вы можете написать собственную логику

+0

не работал со мной, но благодаря за помощь –

+0

Сделал это для меня Спасибо –

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