变量 '网址' 是点击功能里面不确定的,但它是可用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;问题仍然存在:( –