2015-02-23 3 views
3

Я пытаюсь добавить мои HREF значения атрибутов, используя приведенный ниже кодКак инициализировать HREF с помощью 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); 
    }); 
}); 

Это работает идеально. Но вопрос после первого нажмите на ссылку будет 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 в дом готов и использовать его в обработчик щелчка, так что 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

При нажатии на кнопку нажмите событие вызовет. функция события click имеет конкатенацию с существующим url.So существующий url добавляется с кодом страны

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