jQuery 대화 상자가 있습니다. 이미지를 클릭하면 대화 상자가 열리고 삭제할 것인지 확인해야합니다. 예 또는 아니오jQuery 확인 대화 상자에서 동작을 수행하는 버튼을 얻는 방법은 무엇입니까?
나는 세 개의 파일이 작업을 수행 :
주요 파일의 index.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Aircrafts</title>
<link rel="stylesheet" type="text/css" href="../../../lib/css/style.css">
<link rel="stylesheet" href="../../../lib/css/flick/jquery.ui.all.css">
<script src="../../../lib/js/jquery.js"></script>
<script src="../../../lib/js/ui/jquery.ui.button.js"></script>
<script src="../../../lib/js/ui/jquery.ui.core.js"></script>
<script src="../../../lib/js/ui/jquery.ui.widget.js"></script>
<script src="../../../lib/js/ui/jquery.ui.mouse.js"></script>
<script src="../../../lib/js/ui/jquery.ui.button.js"></script>
<script src="../../../lib/js/ui/jquery.ui.draggable.js"></script>
<script src="../../../lib/js/ui/jquery.ui.position.js"></script>
<script src="../../../lib/js/ui/jquery.ui.resizable.js"></script>
<script src="../../../lib/js/ui/jquery.ui.dialog.js"></script>
<script>
$(function() {
$("#loadingdialog").dialog({
autoOpen: false,
width: 300,
height: 65
});
$("#loadingdialog").dialog('widget').find(".ui-dialog-titlebar").hide();
$("#loadingdialog").dialog('widget').find(".ui-resizable-se").hide();
$("#confirmdialog").dialog({
autoOpen: false
});
$("#confirmdialog").dialog('widget').find(".ui-resizable-se").hide();
});
if (window.XMLHttpRequest)
{
ajax=new XMLHttpRequest();
}
else
{
ajax=new ActiveXObject("Microsoft.XMLHTTP");
}
function confirmdelete(str){
var loading = $("#loadingdialog").dialog('open');
var confirm = $("#confirmdialog");
confirm.load("./confirm_dialog.php?icao="+str, function(){
loading.dialog('close');
confirm.dialog('open');
$('#yes').blur();
});
}
function remove(str){
var loading = $("#loadingdialog").dialog('open');
confirm.load("./delete_aircarft.php?icao="+str, function(){
refreshTable(function(){loading.dialog('close');});
refreshTable(function(){$('#result').fadeIn(); document.getElementById('result').innerHTML=ajax.responseText;});
setTimeout(function() { $('#result').fadeOut() }, 5000);
});
}
function close(){
$("#confirmdialog").dialog('close');
}
</script>
</head>
<body>
<div id="result"></div></br>
<div id="loadingdialog"><center><p><img src="../../../lib/images/loading.gif"></center></p></div>
<div id="confirmdialog"></div>
<img src="../../../lib/images/cross.png" onclick="confirmdelete('B737')">
</body>
</html>
confirm_dialog.php :
<script>
$("#yes")
.button()
.click(function(event) {
});
$("#no")
.button()
.click(function(event) {
});
</script>
<h2><font face="century Gothic">Are you sure?</font><h2><hr size="1">
                    
<tr><td><input id="yes" type="submit" value="Yes" onclick="remove('<?php echo $_GET["icao"]; ?>')"></td>   <td><input id="no" type="submit" value="No" onclick="close()"/></td></tr>
그리고 delete_aircraft.php (이 파일은 획득 한 ICAO를 보여줄 뿐이며, 앞으로는 삭제를 준비 할 것이지만 문제가되지는 않습니다.)
<?php echo $_GET["icao"]; ?>
문제는 대화 상자가 열리면 예 또는 아니요를 클릭 할 수 있지만 예 또는 아니요를 클릭하면 아무런 작업도 수행되지 않습니다.
'# yes'와'# no'에 대해 추가 한 빈 클릭 핸들러에 작업을 넣으십시오. – bfavaretto
그래도 문제는 아닙니다! – user1972864
@ user1972864 아무런 문제가 없다는 것이 문제였습니다. 당신은 아무것도 구현하지 않았습니다. 그래서 정상적인 행동입니다. – Tchoupi