나는 다음과 같은 jQuery 코드가 있습니다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는 동작을 수행 할 수 있는지 여부를 알 수 있습니다.
가 나는 콜백을 사용할 수 있습니다 알고 있지만, 콜백이 동작을 실행할 결정하는 결과를 기다리고 CommandLink는 이후 옵션이 아닙니다, 나는 콜백을 사용하는 경우 내가 직접 전화를해야합니다 무한 루프를 만드는 commandLink.click.
심지어 다시 콜백를 사용하는 방법이있을 수 있습니다 생각, 생각하지만 난 당신이 일을 끝낼 때 호출 할 콜백 대화에 어떻게 보낼 수 있습니다.감사합니다.
안녕하세요 Justing808 예, 이미 모달 대화 상자입니다. 문제는 확인 대화 상자의 응답을 기다리는 대신 ** onclick ** 이벤트가 발생한 직후에 작업을 계속 실행하는 'commandLink'에 있습니다. –