У меня есть следующий код jQuery:
<script type="text/javascript" charset="utf-8">
$(function() {
initConfirmbinding();
$('#dialog').dialog({
autoOpen: false,
width: 'auto',
modal: true,
buttons: {
"Delete": function() {
$(this).dialog("close");
alert("You pressed OK!");
return true;
},
"Cancel": function() {
$(this).dialog("close");
return false;
}
}
});
function initConfirmbinding(){
// Dialog Link
$('.confirm').click(function(){
return $('#dialog').dialog('open'); // Here it doesn't stops for the return value!!
});
}
</script>
И этот другой код:
...
<c:foreach ...>
<h:commandLink styleClass="confirm" action="#{myBean.delete}">
<img src="/resources/images/delete-bw.png"/>
</h:commandLink>
<c/:foreach>
...
<!-- ui-dialog -->
<div id="dialog" title="Question" style="display: none;">
This item will be deleted, confirm?
</div>
Мне нужно позвонить на myBean.delete послепользователь подтверждает диалог , но он просто продолжает и делает вызов с открытым диалогом.Как я могу сделать диалог, чтобы вернуть синхронизированное значение?Таким образом, commandLink может знать, выполнять действие или нет.
Я знаю, что он может использовать callbacks , но обратные вызовы не являются опцией, так как commandLink ожидаетрезультат, чтобы решить выполнить действие, и если я использую обратные вызовы, мне нужно будет сделать прямой вызов commandLink.click, который сделает бесконечный цикл.
Даже подумав, подумав еще раз, может быть способиспользовать обратные вызовы , но как я могу отправить в диалог , какой обратный вызов будет вызывать, когда это будет сделано.
С уважением.