變量 '網址' 是點擊功能裏面不確定的,但它是可用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 = conquestUrl;'或其他東西 –
'''buildUrl'中的var url'會遮蓋外部'var url',這就是爲什麼你不能在'click'內看到值('abc.com ...') '處理程序。 – univerio
如果我刪除了var url;問題仍然存在:( –