以下のコードは奇妙なことをします。ダイアログのボタンをクリックすると、各ボタンの「test0」、「test2」、...「test4」ではなく、警告テキストとして「test5」が表示されます。ループ内での関数の割り当てに関する何かが機能していません。
var arrbuttons = [];
for (var i=0; i<5; i++) {
arrbuttons.push({click: function() { alert('test'+i);}, text:'test'+i});
}
jQuery("#requestdialog").dialog(
{
title: "test",
height: 250,
width: 500,
modal: true,
buttons: arrbuttons
}