さて、同じ名前のオブジェクトが複数あります。
<a href="<?php echo Utils::createLink('delete-ms'); ?>&tid=<?php echo $tid; ?>"
class="delete-ms">
<img src="img/status/CANCELED.png" alt="" title="Delete milestone."
class="icon" style="width:18px; height: 18px; margin:0;"/>
</a>
オブジェクトが参照する は次のとおりです。
<div id="delete-ms-dialog" title="Delete this milestone?">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;">
</span>This milestone will be deleted. Are you sure?</p>
</div>
リンクの呼び出しに使用される JS は次のとおりです。
function initDeleteMSDialog() {
var deleteDialog = $('#delete-ms-dialog');
var deleteLink = $('.delete-ms');
deleteDialog.dialog({
autoOpen: false,
modal: true,
width: 476,
buttons: {
'OK': function() {
$(this).dialog('close');
location.href = deleteLink.attr('href');
},
'Cancel': function() {
$(this).dialog('close');
}
}
});
deleteLink.click(function() {
deleteDialog.dialog('open');
return false;
});
}
今私の問題は、複数のオブジェクトが同じクラスで宣言されていることです。JS 関数が呼び出されると、クラスがリンクのソースとして使用されます。そもそもダイアログボックスを開始するためにクリックしているリンクを location.href が参照するようにするにはどうすればよいですか?