0

我知道这个问题已被问过很多次,但我无法从 Stack O 上找到的内容解决。这是我的代码

for(var i=0; i<retrievedSearchesListLength; i++){
retrievedSearchesListProv = retrievedSearchesList[i].searchId;
retrievedSearchesListType = retrievedSearchesList[i].searchParameters;

    function getEventHandlerFunction(a){
    $J.cookies.set('ps_clickedsearch',a);
}

 $J('#submitSearch'+i).bind('click',getEventHandlerFunction(retrievedSearchesListType));
}

每次结果值都是最后一个 for 循环值。如何保持范围以使单击的链接产生正确的值?

我需要正确的retrieveedSearchesListType 来反映单击链接的时间。

提前致谢

4

1 回答 1

1

您需要从返回回调方法getEventHandlerFunction

for(var i=0; i<retrievedSearchesListLength; i++){
    retrievedSearchesListProv = retrievedSearchesList[i].searchId;
    retrievedSearchesListType = retrievedSearchesList[i].searchParameters;

    function getEventHandlerFunction(a){
        return function(){
            $J.cookies.set('ps_clickedsearch',a);
        }
    }

    $J('#submitSearch'+i).bind('click',getEventHandlerFunction(retrievedSearchesListType));
}
于 2013-05-22T04:21:48.923 回答