Variable 'URL' неопределен внутри функции мыши, но она доступна внутри функции buildUrlКак передать переменную из функции другой функции
HTML:
<label class="secondary" for="car01">
<input type="checkbox" id="car01" name="carid" value="car01" checked>Select<span></span>
</label>
<label class="secondary" for="car02">
<input type="checkbox" id="car02" name="carid" value="car02" checked>Select<span></span>
</label>
JS:
$(document).ready(function() {
//Init
buildUrl();
var url;
// Listen to change event
$('.selected-cars input[type=checkbox]').change(function (e) {
e.preventDefault();
if($(this).prop('checked')){
$(this).val();
buildUrl();
$('.button').click(function() {
console.log('Click happen');
console.log('url', url);
$('.button').attr('href', url);
});
}else{
$(this).val();
buildUrl();
}
});
// Build URL
function buildUrl(){
var carIds = $("input[type=checkbox]:checked").serialize();
var url = "abc.com?" + carsIds;
console.log('url', url);
};
});
Но вы никогда не устанавливаете URL-адрес. Подобно 'url = conquestUrl;' или что-то –
'var url' в' buildUrl' затеняет внешний 'var url', поэтому вы не можете увидеть значение (' abc.com ... ') внутри' click 'обработчик. – univerio
Если я удалил var url; проблема все еще там :( –