我知道这个问题已被多次询问,但我无法解决我在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));
}
每次结果值都是循环值的最后一个。如何保留范围以便单击链接得到正确的值?
我需要正确的retrieveSearchesListType来反映点击链接的时间。
提前致谢
答案 0 :(得分: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));
}