2013-11-18 4 views
2

Я не уверен, что я делаю неправильно, но я искал во всех «передача данных в загрузочные модальные» сообщения, но до сих пор не могу найти ответ.Как передать строку в bootstrap modal?

У меня есть таблица с пользователями. В каждой строке есть кнопка «удалить пользователя». Когда вы нажимаете «delete», появляется модальная легенда: «Вы уверены, что хотите удалить?»

Я хочу, чтобы имя пользователя отображалось в этой легенде, поэтому я отправляю имя пользователя в файл JS, но он не отображается. Ничего не появляется.

Это кнопка удаления в каждой строке:

<td><a href="#" onclick="callToModal({$frontuser->username});return false;" class="btn mini red-stripe" role="button" >Delete</a></td> 


Я использую Smarty, поэтому параметр выглядит следующим образом: {$frontuser->username}

Над этим кодом, у меня есть определение модальный:

<!-- modal --> 
<div id="myModal3" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel3" aria-hidden="true"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button> 
      <h3 id="myModalLabel3"></h3> 
     </div> 
     <div class="modal-body"> 
       <p></p>        
     </div> 
     <div class="modal-footer"> 
      <button class="btn" data-dismiss="modal" aria-hidden="true">Cerrar</button> 
      <button data-dismiss="modal" class="btn blue" id="deleteok">Confirmar</button> 
     </div> 
</div> 
<!-- end modal --> 

Тогда мой файл JS является:

function callToModal(data) { 
    $("#myModal3 .modal-header h3").html("Eliminar"); 
    $("#myModal3 .modal-body p").html("Are you sure you want to delete: ", data); 
    $("#myModal3").modal("show"); 
} 


Любая помощь будет очень признательна!

ответ

3

Наконец, после поиска о smarty и js sintax, я нашел, в чем проблема.

Просто ему понадобилась «упаковка» параметра.

Так правильный способ передачи параметра в JS из Smarty заключается в следующем:

<td><a href="#" onclick="callToModal('{$frontuser->username}');" class="btn mini red-stripe" role="button" >Eliminar</a></td> 
+0

Итак, вы получили его? :) – Daved

+0

@Daved yes :) Мне просто нужны кавычки '' – Limon

1

Почему у вас есть запятая в вашем вызове .html()? Может быть, простая опечатка?

$("#myModal3 .modal-body p").html("Are you sure you want to delete: ", data); 

Похоже, что «данные» - это имя, исходящее от вызова функции в строке удаления? Просто измените запятую на +, чтобы добавить имя в строку, если это то, что вы пытаетесь сделать.

$("#myModal3 .modal-body p").html("Are you sure you want to delete: "+ data); 
+0

ТНХ много для ответа. Я изменил запятую на +, и теперь она работает, но только с числами, а не с строкой, как я хочу. Я делал некоторые тесты, и вместо того, чтобы отправлять в качестве параметра имя пользователя, я отправил его идентификатор, и он отлично отображается на модальном. Но это не так, я не могу понять, почему. Да, данные параметр я отправить из этого предложения: Delete Limon

+0

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

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