$function(){ and $window.onload()
- 我不确定如何处理这个问题?在$('#ashift').on('click',function(){
我需要ajax再次开火吗?我应该将它包装在一个函数中并在页面加载时调用该函数,然后再在click事件中调用,或者是否有更好的方法 - 我需要在ajax调用中更新clicked_shift
变量。
<script id="source" language="javascript" type="text/javascript">
var clicked_shift = "C";
$('#ashift').on('click', function(){
clicked_shift = "A";
});
$(function () {
$.ajax({
url: 'county.php',
data: {action:"tt"},
dataType: 'json',
success: function(data){
alert(clicked_shift);
$.each(data, function(key, val) {
if (val.completed == 1) {
color = "green";
} else {
color = "red";
}
if (val.Shift == clicked_shift){
$('#station'+val.Station+' .snum').append("<span style='color:"+color+"'>" + val.LastName + "</span><br/>");
}
});
}
}); // end ajax
}); // end of function()
</script>
答案 0 :(得分:0)
var clicked_shift = "C";
function ajaxCall(){ // function declaration
console.log("clicked_shift",clicked_shift);
}
$(function () {
ajaxCall(); // call function ondomready
$('#ashift').live('click',function(){
clicked_shift = "A"; // change variable value
ajaxCall(); // re-invoke the function
});
}); // end of function()
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="ashift">click</div>
&#13;
$(function(){});
就像$(document).ready(function(){});
一个自调用的匿名函数,它将在dom完全加载时触发。要在以后重新调用某个函数,您需要声明它或将其赋值给变量。