2015-09-19 1 views
0

Im испытывает некоторые странные проблемы, и я не могу решить проблему. Надеюсь, один из вас поможет мне в этом.Страница загружена в div - позиция диалога JQuery работает только в первый раз

Я загрузка страницы в DIV (когда определенная ссылка щелкнула)

В рамках этого DIV (это другая страница) я показать некоторые данные из моей базы данных. при нажатии на диалог jquery открывается и вы можете редактировать введенные данные. Когда форма отправляется, данные редактируются и отображаются отредактированные данные. Я написал код, чтобы расположить диалог рядом с показанной информацией. Это работает, но только один раз ... если я попытаюсь отредактировать данные снова, диалог откроется в местоположении по умолчанию (верхняя левая страница) - если я не загружаю страницу в div - так что загружайте страницу отдельно, она работает отлично время.

Мне также было очень странно, что мне пришлось встроить скрипт jquery в index.php, чтобы он работал, а не на странице, в которую я включаю, в которой используется 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"/>&nbsp;<input type="submit" value="opslaan" > </form> 
      </div> 
     <button id="opener" border="0" color="white"> <?php echo $row['voornaam'] . " " . $row['achternaam'] ;?> &nbsp; <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

любой, кто может дать мне толчок в правильном направлении? :( – Wouter

ответ

0

После того как я положить прилагается позицию {} в $("#dialog").dialog({ он работал на какой-то причине.

+0

Это действительно не отвечает на вопрос. Вы должны включить, что вы смогли исправить это с помощью своего кода, но вы не знаете, почему это работает. – NathanOliver

Смежные вопросы