2010-03-30 6 views
1

Hai это моя JQuery функция,Как сделать эту функцию jquery многоразовой?

function getRecordspage(curPage, pagSize) { 
    $.ajax({ 
     type: "POST", 
     url: "Default.aspx/GetRecords", 
     data: "{'currentPage':" + curPage + ",'pagesize':" + pagSize + "}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(jsonObj) { 
      var strarr = jsonObj.d.split('##'); 
      var jsob = jQuery.parseJSON(strarr[0]); 
      $.each(jsob.Table, function(i, employee) { 
       $('<div class="resultsdiv"><br /><span class="resultName">' + employee.Emp_Name + '</span><span class="resultfields" style="padding-left:100px;">Category&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee.Desig_Name + '</span><br /><br /><span id="SalaryBasis" class="resultfields">Salary Basis&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee.SalaryBasis + '</span><span class="resultfields" style="padding-left:25px;">Salary&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee.FixedSalary + '</span><span style="font-size:110%;font-weight:bolder;padding-left:25px;">Address&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee.Address + '</span></div>').appendTo('#ResultsDiv'); 
      }); 
      $(".resultsdiv:even").addClass("resultseven"); 
      $(".resultsdiv").hover(function() { 
       $(this).addClass("resultshover"); 
      }, function() { 
       $(this).removeClass("resultshover"); 
      }); 
     } 
    }); 
} 

В моей странице у меня есть этот JQuery скрипт,

$("#lnkbtn0").click(function() { 
       getRecordspage(1, 5) 
      }); 

И моя страница

<a ID="lnkbtn0" class="page-numbers">1</a>
<a ID="lnkbtn1" class="page-numbers">2</a>
<a ID="lnkbtn2" class="page-numbers">3</a>
<a ID="lnkbtn3" class="page-numbers">4</a>

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

ответ

2

Я думаю, что вы имеете в виду вы хотите применить текст ссылок с ID, начиная с linkbtn в качестве первого параметра:

$("a[id^=linkbtn]").click(function() { 
    getRecordspage($(this).text(), 5); 
    return false; 
}); 

См http://api.jquery.com/attribute-starts-with-selector/

в качестве альтернативы, вы можете просто использовать селектор класса:

$("a.page-numbers").click(function() { 
    getRecordspage($(this).text(), 5); 
    return false; 
}); 
+0

@ Karim, который сработал ..... –

+0

+1, очень простой, в отличие от моего .... :) Номера страниц лучше. –

1

Если вы не возражаете, используя обычный старый JavaScript

<a ID="lnkbtn0" class="page-numbers" href="#" onclick="getRecordsPage(1,5)">1</a> 
<a ID="lnkbtn1" class="page-numbers" href="#" onclick="getRecordsPage(2,5)">2</a> 
<a ID="lnkbtn2" class="page-numbers" href="#" onclick="getRecordsPage(3,5)">3</a> 
<a ID="lnkbtn3" class="page-numbers" href="#" onclick="getRecordsPage(4,5)">4</a> 

Убедитесь, что вы preventDefault на <a> тегов.

Else, если вы действительно хотите пойти JQuery.

$("a[id^=linkbtn]").each(function() { 
    $(this).click(function() { 
     getRecordspage($(this).text(), 5); 
    }); 
}); 

UPDATE Использование класса селекторы (как karim79) предложил.

+0

@Elite i ll go with jquery Должен ли я использовать href = "#" для моих привязок –

+0

Некоторые браузеры обновляют страницу, если не найдено 'href'. Вы можете сделать «href =» javascript: void (0) », чтобы по существу ничего не делать. В основном вам решать, какой браузер вы хотите. –

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