我在单页中使用JavaScript函数,我在没有刷新页面的情况下两次调用相同的函数,我也在函数中传递params值,但是当我第二次调用它时,我也发现了params的前一个时间值在第一时间使用。 例如:我正在调用此函数并发送' .assign_agents_popup_index'在第二次和第一次我正在通过' .add_agents_popup_index'。
showUnAssignAgentList('',response, '.assign_agents_popup_index');
我的问题是,当我进入这个功能并第二次获取第三个参数时,我也获得了之前时间的价值。
showUnAssignAgentList(cookieLogin, _data, _parent)
实施例
我第一次称这个函数为:
showUnAssignAgentList('',response, '.add_agents_popup_index');
当在函数中获取param然后_parent值我得到' .add_agents_popup_index' 但是当我第二次打电话时
showUnAssignAgentList('',response, '.assign_agents_popup_index');
然后我得到了_parent的价值,例如' .add_agents_popup_index .assign_agents_popup_index'你能告诉我如何在每次调用它时重置功能值
function showUnAssignAgentList(cookieLogin, data, _parent) {
var user_data = {},
sorted_users = [],
list_names = [];
/* First we're going through the list of users to get the last names */
$.each(data.field_data.users, function(k, v) {
if(v.last_name && list_names.indexOf(v.last_name.toLowerCase()) < 0) {
list_names.push(v.last_name.toLowerCase());
}
});
/* Then we sort the array */
list_names.sort();
/* We build the function which will be use the second time we'll loop over users */
var build_sort_users = function(k, user) {
if(user.last_name) {
if(sorted_users[list_names.indexOf(user.last_name.toLowerCase())]) {
sorted_users[list_names.indexOf(user.last_name.toLowerCase())].push({
first_name: user.first_name,
last_name: user.last_name,
id: user.id
});
}
else {
sorted_users[list_names.indexOf(user.last_name.toLowerCase())] = [{
first_name: user.first_name,
last_name: user.last_name,
id: user.id
}];
}
}
};
if(data.data.id && 'agents' in data.data && data.data.agents.length > 0) {
$.each(data.field_data.users, function(k, v) {
if(data.data.agents.indexOf(v.id) >= 0) {
user_data[v.id] = {
first_name: v.first_name,
last_name: v.last_name,
id: v.id
}
}
build_sort_users(k, v);
});
}
else {
$.each(data.field_data.users, function(k, v) {
build_sort_users(k, v);
});
}
$('#select_all_agents').click(function() {
$('.select_agent').prop('checked', $(this).is(':checked'));
});
var available_user = loadViewTemplate('available_user'),
selected_agent = loadViewTemplate('selected_agent'),
count_agents = 0,
count_un_agents = 0;
$('.assign_agents_popup').delegate('.queue_agent', 'click', function() {
var data = $(this).data();
$.tmpl(available_user, data).prependTo('#queue-view-unassigned-agent');
console.log(_parent);
$(this).parent().remove();
$('.count_un_agents').html(++count_un_agents);
$('.count_agents').html(--count_agents);
});
$('.assign_agents_popup').delegate('.user_box', 'click', function() {
var data = $(this).data();
$.tmpl(selected_agent, data).prependTo('#queue-view-assigned-agent');
console.log(_parent);
$(this).parent().remove();
$('.count_agents').html(++count_agents);
$('.count_un_agents').html(--count_un_agents);
});
$.each(sorted_users, function(k, v) {
$.each(v, function(k2, v2) {
if(!(v2.id in user_data)) {
count_un_agents++;
mergeTemplate(available_user, '#queue-view-unassigned-agent', v2);
}
else {
count_agents++;
mergeTemplate(selected_agent, '#queue-view-assigned-agent', v2);
}
});
});
$('.count_un_agents').html(count_un_agents);
$('.count_agents').html(count_agents);
}