我遇到了一些奇怪的问题,我似乎无法解决它。希望你们其中一个可以帮助我。
我正在将页面加载到div中(当单击某个链接时)
在这个div(这是一个不同的页面)中,我显示了我的数据库中的一些数据。单击jquery对话框时,您可以编辑输入的数据。提交表单后,将编辑数据并显示编辑的数据。我已经编写了一些代码来将对话框定位到显示的信息中。这只能工作一次......如果我再次尝试编辑数据,则会在默认位置(左上角)打开对话框 - 如果我不将页面加载到div中 - 所以单独加载页面它可以正常工作时间。
我还发现很奇怪我必须在index.php中嵌入jquery脚本才能使它工作,所以不在我使用jquery的页面中。现在进入我的代码
<script>
$(function(c) {
$( "#dialog" ).dialog({
autoOpen: false,
maxWidth:260,
maxHeight: 85,
width: 260,
height: 85,
show: {
effect: "blind",
duration: 1000
},
position: {
my: 'left, top',
at: 'right, top',
of: $('#opener')
},
hide: {
effect: "explode",
duration: 1000
}
});
$( "#opener" ).click(function() {
$( "#dialog" ).dialog( "open" );
});
});
<body>
<?php
if(!empty($row['voornaam'])){
?>
<div id="dialog" >Naam<br>
<p><form method="post" id="naam"> <input type="text" value="<?php echo $row['voornaam'];?>" name="voornaam" size="8"/> <input type="text" value="<?php echo $row['achternaam'];?>" name="achternaam" size="8"/> <input type="submit" value="opslaan" > </form>
</div>
<button id="opener" border="0" color="white"> <?php echo $row['voornaam'] . " " . $row['achternaam'] ;?> <img src="edit.png" width="10" height="10"></button>
<?php
} ?>
<script type = "text/javascript">
$(function(b) {
$( "#naam" ).on('submit', function(){
$(this).closest("#dialog").dialog("close");
// gather the form data
var data=$(this).serialize();
// post data
$.post('members.php', data , function(returnData){
// insert returned html
$('#test').load('members.php')
})
return false; // stops browser from doing default submit process
});
});
</script>
答案 0 :(得分:0)
我在{}
中放置封闭位置$( "#dialog" ).dialog({
之后,由于某种原因,它才起作用。