実際に 1 回反復しているかどうかはわかりませんが、生成されるダイアログは 1 つだけです。jquery ループは、1 からカウントアップする各 PHP ループ反復の非表示の入力を対象としています。合計 2 つの「roomID」があります。
alert を使用すると 2 つ表示されますが、ダイアログが jquery に割り当てられていないため、最初の 1 つが表示されます。なぜこうなった?
これを行うためのより良い方法はありますか:
$('input#roomID').each(function() {
var roomID = $('input#roomID').val();
alert($(this).val());
$( 'div.edit-dialog-'+roomID ).dialog({
autoOpen: false,
height: 500,
width: 550,
modal: true,
position:['middle','middle'],
draggable: true,
//resizable: true,
buttons: {
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$( 'a.room-edit-'+roomID).click(function() {
$( 'div.edit-dialog-'+roomID ).dialog( "open" );
});
});
私はJqueryに少し慣れていません。