2015-05-13 5 views
4

После того, как я выполнил действие AJAX, я хочу обновить свой модальный, но я не знаю, как это сделать. Я потратил слишком много времени на эту проблему.Обновить модальный после действия Ajax

На странице ViewCharacter.php вы увидите страницу с последними данными, и вы можете нажать кнопку карандаша «#ButtonEditCharacterStats», чтобы отредактировать статистику, затем она откроет для вас модальный с последними данными. Когда вы нажимаете кнопку «плюс 1» (#StrengthPlusOne), она увеличит это число на 1, но после этого я хочу закрыть модальный, загрузить его снова и показать самые последние данные.

Или, может быть, лучшим решением было бы сохранить модальный открытый доступ к содержимому модального. Кажется, я не нашел для этого решения.

Любые идеи для дальнейшего улучшения этого сценария будут очень признательны.

ViewCharacter.php

<?php 
$Character = new Character; 
$Character->getSingleCharacter(); 

$result = $Character->getSingleCharacter(); 
?> 

<h2>Character</h2> 

<?php 
while ($Character = $result->fetch_object()) 
{ 
    ?> 
    <h3><?php echo $Character->FirstName ?></h3> 
    </br> 

    <div class="row"> 
     <div class="col-xs-6"> 
      <div class="panel panel-default"> 
       <div class="panel-heading"> 
        Stats 
       </div> 
       <div class="panel-body"> 


        <ul class="nav nav-pills" role="tablist"> 
         <li role="presentation" class="active"> 
          <button id="ButtonEditCharacterStats" style="" data-toggle="modal" data-target="#EditCharacterStats" class="ToolbarButton glyphicon glyphicon-pencil fa-2x"></button> 

          </br></br> 

          <a href="#">Strength <span class="badge"><?php echo $Character->Strength; ?></span><span class="badge"><?php echo $Character->StrengthBonus; ?></span></a></br> 
          <a href="#">Dexterity <span class="badge"><?php echo $Character->Dexterity; ?></span><span class="badge"><?php echo $Character->DexterityBonus; ?></span></a></br> 
          <a href="#">Constitution <span class="badge"><?php echo $Character->Constitution; ?></span><span class="badge"><?php echo $Character->ConstitutionBonus; ?></span></a></br> 
          <a href="#">Intelligence <span class="badge"><?php echo $Character->Intelligence; ?></span><span class="badge"><?php echo $Character->IntelligenceBonus; ?></span></a></br> 
          <a href="#">Wisdom <span class="badge"><?php echo $Character->Wisdom; ?></span><span class="badge"><?php echo $Character->WisdomBonus; ?></span></a></br> 
          <a href="#">Charisma <span class="badge"><?php echo $Character->Charisma; ?></span><span class="badge"><?php echo $Character->CharismaBonus; ?></span></a></br> 

         </li> 
        </ul>     
       </div> 
       <?php 
      } 
      ?> 

      <div class="panel-footer"> 
       Stats 
      </div> 
     </div> 
    </div> 
    <div class="col-xs-6"> 
     <div class="panel panel-default"> 
      <div class="panel-heading" style="background-color: #d9534f;color:white;"> 
       Stats 
      </div> 
      <div class="panel-body"> 
       <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.</p> 
      </div> 
      <div class="panel-footer"> 
       Stats 
      </div> 
     </div> 
    </div> 

</div> 

<script> 
    $(document).ready(function() { 

     //$("#StrengthPlusOne").click(function() 
     $("#StrengthPlusOne").on("click", function() 
     { 
      $.ajax({ 
       method: "POST", 
       url: "inc/view/Character/UpdateCharacterStat.php", 
       data: { 
        ID: "2", 
        stat: "Strength", 
        Operator: "Increase" 

       } 
      }) 
        .done(function (msg) { 
         alert("Data Saved: " + msg); 
        }); 
     }); 
    }); 

    $("#StrengthMinusOne").click(function() { 
     alert("-1"); 
    }); 


</script>  

EditCharacterModal.php

<?php 
$Character = new Character; 
$Character->getSingleCharacter(); 

$result = $Character->getSingleCharacter(); 

while ($Character = $result->fetch_object()){?> 
</br> 

<div id="EditCharacterStats" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> 
    <div class="modal-dialog modal-lg"> 
     <div class="modal-content"> 
      <div class="panel-body"> 
       <div id="EditCharacterStatsContent"> 
       <h3>Edit Character Stats</h3> 
       <ul class="nav nav-pills" role="tablist"> 
        <li role="presentation" class="active"> 
         </br></br> 
         <a href="#"> 
          Strength 
          <span class="badge"><?php echo $Character->Strength; ?> 
          </span> 
         <button id="StrengthPlusOne" class="SmallToolbarButton glyphicon glyphicon-plus-sign fa-1x"> 1</button> 
         <button id="StrengthMinusOne" class="SmallToolbarButton glyphicon glyphicon-minus-sign fa-1x"> 1</button> 

         </a> 


         </br> 
         <a href="#"> 
          Strength Bonus 
          <span class="badge"><?php echo $Character->StrengthBonus; ?></span> 
         </a></br> 
         <a href="#"> 
          Dexterity 
          <span class="badge"><?php echo $Character->Dexterity; ?></span> 
          <span class="badge"><?php echo $Character->DexterityBonus; ?></span> 
         </a></br> 
         <a href="#"> 
          Constitution 
          <span class="badge"><?php echo $Character->Constitution; ?></span> 
          <span class="badge"><?php echo $Character->ConstitutionBonus; ?></span> 
         </a></br> 
         <a href="#">Intelligence 
          <span class="badge"><?php echo $Character->Intelligence; ?></span> 
          <span class="badge"><?php echo $Character->IntelligenceBonus; ?></span></a></br> 
         <a href="#"> 
          Wisdom 
          <span class="badge"><?php echo $Character->Wisdom; ?></span> 
          <span class="badge"><?php echo $Character->WisdomBonus; ?></span> 
         </a></br> 
         <a href="#">Charisma 
          <span class="badge"><?php echo $Character->Charisma; ?></span> 
          <span class="badge"><?php echo $Character->CharismaBonus; ?></span> 
         </a></br> 

        </li> 
       </ul> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 
<?php 
} 

UpdateCharacterStat.php

<?php 
$Stat = filter_input(INPUT_POST, 'Stat'); 

include "../../../inc/dbconnect.php"; 

$sql = "UPDATE TBL_Character SET Strength= Strength + 1 WHERE ID=2"; 
echo "Strength increase selected!"; 
if ($connection->query($sql) === TRUE) { 

} else { 
    echo "Error updating record: " . $connection->error; 
} 

ответ

0

Вы должны начать с создания страницы с именем getCharacterStats.php. Затем используйте javascripts XMLHTTPREQUEST для загрузки данных после их обновления.

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