JS関数を作成しましたが、配列内の値に応じて生成されるボタンをバインドする必要があります。しかし、それは私に最後の価値を与えます。クロージャを使用する必要があることを読みましたが、それでも正しくバインドできません。私はまだ閉鎖について読んだ初心者です、私はアイデアを得ましたが、それでも私が欠けているものを知りませんでした
function addNewServices(newServicesArray){
var j=0; var x;
for (i in newServicesArray){
var html='';
html='<div style="width: 33%; float: leftt"><a href="#" data-role="button" data-icon="home" id="btn-'+newServicesArray[j].servicename+'" value="'+newServicesArray[j].servicename+'" class="ui-btn-up-c">'+newServicesArray[j].servicename+'</a></div>';
$("#main-menu").append(html);
$('#btn-'+newServicesArray[j].servicename).bind('click', function (){bindThis(j)});
j++;
}
var bindThis = function( j ) {
return function() {
alert(j); // gives 2 always
alert( newServicesArray[j].servicename );
};
};
}