2015-02-23 110 views
3

我試圖通過使用下面的代碼如何使用jQuery

$(document).ready(function() { 
    jQuery("#help_url").click(function(){ 
     var href = $(this).attr('href'); 
     alert(href); 
     var txt_api_key = $('#txt_api_key').val(); 
     var txt_postcode = $('#txt_postcode').val(); 
     var txt_countrycode = $('#txt_countrycode').val(); 
     $('a#help_url').attr('href', href+txt_postcode+"/"+txt_countrycode+"?api_key="+txt_api_key); 
    }); 
}); 

這是工作完美追加我的href屬性值來初始化HREF。但問題是之後的第一個點擊的鏈接將成爲http://api.fastway.org/v1/psc/pickuprf/2148/1?api_key=5340c900251a6105a19a58a1590472bb,並在下次點擊後,我改變了「txt_countrycode」值,或者如果沒有chnaging任何值就變成http://api.fastway.org/v1/psc/pickuprf/2148/1?api_key=5340c900251a6105a19a58a1590472bb2148/1?api_key=5340c900251a6105a19a58a1590472bb

即再次加入的「href + txt_postcode +」 /」 + txt_countrycode +「?api_key =」+ txt_api_key「

我該如何解決這個問題?

回答

2

一個簡單的辦法是看在href的值在DOM已準備就緒,並在單擊處理程序使用它,從而使href將有一個非更新值

$(document).ready(function() { 
    var href = jQuery('#help_url').attr('href'); 
    jQuery("#help_url").click(function() { 
     alert(href); 
     var txt_api_key = $('#txt_api_key').val(); 
     var txt_postcode = $('#txt_postcode').val(); 
     var txt_countrycode = $('#txt_countrycode').val(); 
     $('a#help_url').attr('href', href + txt_postcode + "/" + txt_countrycode + "?api_key=" + txt_api_key); 
    }); 
}); 
1

當你點擊按鈕的點擊活動將會打電話。 點擊事件功能已與現有網址串聯。因此,現有網址附加國家代碼