我必須在我的頁面中多次使用同一個jQuery
代碼塊。只更改selector
名稱和url
參數。我如何防止jquery中的代碼重複?
我的代碼看起來是這樣的:
$(document).ready(function() {
$("#year").change(function() {
var url = '';
var c = $("#category").val();
var d = $(this).val();
if(c.trim().length) { url+='&cat='+c }
if(d.trim().length) { url+='&mth='+d }
location.href="?p=summery"+url;
})
$("#category").change(function() {
var url = '';
var c = $(this).val();
var d = $("#year").val();
if(d.trim().length) { url+='&mth='+d }
if(c.trim().length) { url+='&cat='+c }
location.href="?p=summery"+url;
})
});
$(document).ready(function() {
$("#year2").change(function() {
var url = '';
var c = $("#category2").val();
var d = $(this).val();
if(c.trim().length) { url+='&cat='+c }
if(d.trim().length) { url+='&mth='+d }
location.href="?p=card"+url;
})
$("#category2").change(function() {
var url = '';
var c = $(this).val();
var d = $("#year2").val();
if(d.trim().length) { url+='&mth='+d }
if(c.trim().length) { url+='&cat='+c }
location.href="?p=card"+url;
})
});
$(document).ready(function() {
$("#year3").change(function() {
var url = '';
var c = $("#category3").val();
var d = $(this).val();
if(c.trim().length) { url+='&cat='+c }
if(d.trim().length) { url+='&mth='+d }
location.href="?p=chart"+url;
})
$("#category3").change(function() {
var url = '';
var c = $(this).val();
var d = $("#year3").val();
if(d.trim().length) { url+='&mth='+d }
if(c.trim().length) { url+='&cat='+c }
location.href="?p=chart"+url;
})
});
有很多重複的代碼。我的問題是,任何機構可以幫助我防止這種代碼重複。原因是,我必須對這個代碼塊進行大量的編碼selectors
和urls
。
希望有人可以幫助我。 謝謝。
創建一個函數,它的ID和urlFragment參數 – jedifans
@ jedifans,你能向我示範一個例子嗎? – user3733831
更好地在[CodeReview.SE](https://codereview.stackexchange.com/)中詢問。 –