SrijaniDev Ответов: 1

Невозможно получить доступ к id pass to bootstrap modal


я хочу обновить и удалить данные из таблицы с помощью модального окна bootstrap . я передал идентификатор для того, чтобы эти конкретные данные были обновлены или удалены. но я не могу получить доступ к этому идентификатору в модальном окне. а также при обновлении модального вызова он показывает только одну запись на этом модальном вызове
заранее спасибо

Что я уже пробовал:

<div class="action-buttons bigger-125" align="center">
																			<a href="#edit-event-modal">
																				
																			</a>

																			<a href="#">
																				
																			</a>

																			<a href="#del-event-modal">
																			
																			</a>
																			<!--<a href="#myModal" class="btn">Delete Project</a>-->
																</div>

modal.php
<!-- Delete Project Modal -->
    <div id="del-event-modal" class="modal fade">

        <div class="modal-dialog">

            <div class="modal-content">

                <div class="modal-header">

                    

                    <h4 class="modal-title">Confirmation</h4>

                </div><!--//modal-header-->

                <div class="modal-body">

                    <p class="text-warning">Do you want to Delete this project?</p>
					
			
                </div> <!--//modal-body-->

                <div class="modal-footer">

                 <!--   -->
				     

				    


                </div> <!--//Modal-footer -->

            </div><!--//modal-content-->

        </div><!--//modal-dialog-->

    </div><!--//modal-->
<!--// Delete Project Modal -->

<!-- edit project modal -->
  <div id="edit-event-modal" class="modal fade">

        <div class="modal-dialog">

            <div class="modal-content">

                <div class="modal-header">

                    

                    <h4 class="modal-title">Edit Project</h4>

                </div><!--//modal-header-->

                <div class="modal-body">

               <div>
				 
				</div>
                </div> <!--//modal-body-->

                <div class="modal-footer">

                   <!-- 
				    
-->

                </div> <!--//Modal-footer -->

            </div><!--//modal-content-->

        </div><!--//modal-dialog-->

    </div><!--//modal-->
<!--//edit project modal-->


	$('#del-event-modal').on('show.bs.modal', function (event) {
			
			  var button = $(event.relatedTarget); // Button that triggered the modal
			  var recipient = button.data('id'); // Extract info from data-* attributes
			  // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
			  // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
			  var modal = $(this);
			 
			  modal.find('.modal-body #id').val(recipient);
			  
				$('#del').on('click', function (event) {
					var x = document.getElementById("id").value; 
					 $.ajax({
						url: 'delproject.php',
						type: 'POST',												
						data :{value:x} ,
						success: function(data){
						var data = JSON.stringify(data)
						alert("id sent is "+data);	
						//window.location.href="projects.php";													   
						}
					});
					
				 });
			});

$('#edit-event-modal').on('show.bs.modal', function (e) {
			
			 	 //get data-id attribute of the clicked element
				var bookId = $(e.relatedTarget).data('id');
		
				//populate the textbox
				$(e.currentTarget).find('input[name="proid"]').val(bookId);
				//var x = document.getElementById("proid").value; alert("pid"+x);

			
				/*$('#edit').on('click', function () {
				
					var x = document.getElementById("proid").value;  alert("pid"+x);
					var pnm = document.getElementById("pnm").value;  alert("pnm"+pnm);
					var pcity = document.getElementById("pcity").value;  alert("pcity"+pcity);
					var feature = document.getElementById("p_feature").value;  alert("feature"+feature);
					var spec = document.getElementById("p_spec").value;  alert("spec"+spec);


					 $.ajax({
						url: 'editproject.php',
						type: 'POST',												
						cache: 'false',
						data :{value:x,pnm:pnm,pcity:pcity,feature:feature,spec:pspec} ,
						success: function(data){
							var data = JSON.stringify(data)
							//alert("id sent is "+data);	
							window.location.href="projects.php";													   
						}
					});
					
				 });*/
			});

1 Ответов

Рейтинг:
2

David_Wimbley

Возможно, я что-то упускаю, но причина, по которой у вас нет идентификатора в коде javascript, заключается в том, что у вас нет никаких атрибутов данных, определенных на вашей кнопке.

Итак, скажем, вы используете свою кнопку редактирования (я добавил Edit, так как ваша ссылка должна даже отображаться как пустой тег якоря):

<a href="#edit-event-modal">Edit</a>


В JavaScript вы доступ кнопку вызова, и код как таковой

var button = $(event.relatedTarget);
var recipient = button.data('id');


Это не то, как я делаю эту функциональность, поэтому я не уверен, работает ли relatedTarget. Однако ваш получатель всегда должен быть нулевым, поскольку в вашей ссылке на кнопку редактирования нет атрибута data-id. Вам нужно сделать следующее, Чтобы получить некоторую ценность в вашем получателе

<a href="#edit-event-modal">Edit</a>
<!-- Assuming your are looping over this html or populating it via some model, data-id="2" should be something like data-id=""...not sure if you need echo $myId, my PHP is rusty -->