javascript函数参数值重置

时间:2014-12-01 11:27:29

标签: javascript function params

我在单页中使用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);
}

0 个答案:

没有答案