我不确定我做错了什么,但我已经搜索了所有“将数据传递给bootstrap模态”帖子,但仍然无法找到答案。
我有一个用户表。在每行中都有一个“删除用户按钮”。当您点击“删除”时,会显示一个模式,其中包含图例:“您确定要删除吗?”
我希望用户名显示在该图例中,因此我将用户名发送到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");
}
任何帮助将不胜感激!
答案 0 :(得分:3)
最后在搜索了smarty和js sintax之后,我发现了问题所在。
简单来说,它需要一些''包装参数。
因此,从SMARTY向JS发送参数的正确方法是:
<td><a href="#" onclick="callToModal('{$frontuser->username}');" class="btn mini red-stripe" role="button" >Eliminar</a></td>
答案 1 :(得分:1)
为什么你的.html()调用中有逗号?简单的错字可能?
$("#myModal3 .modal-body p").html("Are you sure you want to delete: ", data);
看起来“data”是来自删除行中函数调用的名称?只需将逗号更改为+即可将字符串添加到字符串中,如果这是您要执行的操作。
$("#myModal3 .modal-body p").html("Are you sure you want to delete: "+ data);