2016-12-01 3 views
2

Я создаю подтверждение, используя materializecss modals, чтобы удалить определенную запись, отображаемую на странице. Каждая запись имеет свою собственную кнопку удаления, чтобы удалить вопрос, с которым связана запись. Там значение php $questionCnt - это то, что относится к записи, которую нужно удалить.Передача данных php для материализованного мода

В настоящее время у меня есть рабочий метод для удаления выбранной записи, если она не находится в модальном режиме. Моя проблема возникает при попытке передать данные $questionCnt в модальные. Он продолжает возвращаться к первому значению массива в индексе 0. Я прокомментировал это в своем нерабочем коде, где именно это происходит.

Таким образом, вместо удаления выбранной записи она удалит первую запись независимо от выбранной записи.

Initialization

$(document).ready(function(){ 
    $('.modal-trigger').leanModal(); 
}); 

Рабочий раствор без модальных

<form method="link" id="deleteQuestionForm" action="{{ url('api/question/deletequestiondata/') }}"> 
     <input type="hidden" id="questionToDelete" value=<?php echo '"' . $questionData[$questionCnt] . '"'; ?> name = 'questionID'> 
     <input type="hidden" id="urlForSurvey" value="{{$surveyName}}" name = 'urlForSurvey'> 
     <button class="btn waves-effect waves-light" value="+" id="deleteQuestionButton" name="action" onclick="document.getElementById('deleteQuestionForm').submit();"> 
      <input type="submit" value="Delete Question"> 
     </button> 
    </form> 


Non-Рабочий раствор В Modal

@foreach($questiondata as $d) 
<?php $questionCnt++; ?> 
<div class="card white darken-1 hoverable"> 
    <div class="card-content black-text"> 
    <span class="card-title"><b>{{$d->questionTxt}}</b></span> 
    <div class="card-action"> 
     <div class="button right"> 
     <button class="waves-effect waves-light btn" > 
      <i class="material-icons left">mode_edit</i>Edit 
     </button> 
     <button class="waves-effect waves-light btn modal-trigger red" href="#deletePopUP"> 
      <i class="material-icons">delete</i> 
     </button> 
     <?php echo $questionCnt ; ?>  <!-- Will print the correct index -->          
     <div id="deletePopUP" class="modal"> 
      <?php echo $questionCnt ; ?> <!-- Will always print the first index --> 
      <div class="modal-content"> 
       <h4 align="center">Are you sure you wish to delete this question?</h4> 
      </div> 
      <div class="modal-footer" align="center"> 
       <form method="link" id="deleteQuestionForm" action="{{ url('api/question/deletequestiondata/') }}"> 
        <input type="hidden" id="questionToDelete" value=<?php echo '"' . $questionData[$questionCnt] . '"'; ?> name = 'questionID'> 
        <input type="hidden" id="urlForSurvey" value="{{$surveyName}}" name = 'urlForSurvey'> 
        <button class="btn waves-effect waves-light" value="+" id="deleteQuestionButton" name="action" onclick="document.getElementById('deleteQuestionForm').submit();"> 
         <input type="submit" value="Delete Question"> 
        </button> 
       </form> 
       <a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">No, Return 
       </a> 
       </div> 
      </div>           
     </div> 
    </div> 
</div> 
</div>@endforeach 
+0

я думаю, что есть часть отсутствует в этом вопросе - я обнаружить там должна быть петля. Кроме того, нечетно, что нам не даны значения, которые находятся в '$ questionData' – WEBjuju

+0

Действительно, единственными данными, которые относятся к удалению, является' $ questionCnt', который есть только цикл for, который отображает каждую запись на карте. Я добавлю цикл для уточнения. – brunzzy

ответ

0

проблема была решена

чтобы передать значение PHP в модальный это.. добавьте его в href кнопки, которая активирует m odal и отрегулируйте id модального тега.

код, который был изменен, чтобы решить этот вопрос

<button class="waves-effect waves-light btn modal-trigger red" 
        href="#deletePopUP<?php echo $questionCnt?>"> 
    <i class="material-icons">delete</i> 
</button> 

<!-- Are you sure prompt --> 
<div id="deletePopUP<?php echo $questionCnt?>" class="modal"> 
    <div class="modal-content"> 

<!-- Rest of modal content stayed the same --> 
0

Хм, мне все еще интересно, что выглядит массив $questionData (имеет в нем) ... die('<pre>'.print_r($questionData, 1)); решит мое любопытство.

Однако есть небольшая ошибка в

<input type="hidden" id="questionToDelete" value=<?php echo '"' . $questionData[$questionCnt] . '"'; ?> name = 'questionID'> 

, который может быть корень вашей проблемы. Видите ли, вы перебираете $questiondataNOT$questionData (обратите внимание на чувствительность к регистру здесь). Более того, поскольку вы установили текущий цикл в $d в свой foreach, вы должны использовать его как (или что-то в этом роде) (я не могу сказать точно, так как вы держите содержимое данных $questiondata в секрете, поэтому далеко:

<input type="hidden" id="questionToDelete" value="<?php echo $d['id']; ?>" name="questionID"> 

(я также очищены некоторые процитировать, чтобы сделать его более читаемым)

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

  • Нет связанных вопросов^_^