javascript - 将动态内容加载到引导模式

标签 javascript jquery bootstrap-modal

我在 AJAX 调用后收到一些数据并填充列表。

但是,当从该列表中单击某个项目时,我想显示一个包含该项目信息的模式(例如图片、它的受欢迎程度 - 单击了多少次 -、作者等)。我可以用一种丑陋的方式做到这一点:

$('#target').append(
    $('<div class = "col-md-4" data-toggle = "modal" data-target = "#myModal" onClick = someFunction(' + someArgument + ')>' + someText + '</div>' +
      '<div class = "modal fade" id = "myModal" role = "dialog">' + '<div class = "modal-dialog modal-lg">' +
      '<div class = "modal-content"> <div class = "modal-header"> <h4 class = "modal-title">' + someTitle + '</h4></div>' +
      '<div class = "modal-body">Description: ' + description + ' Author: ' + author + '<br</br>' +
      '<img src = "' + imgSource + '" class = "modal-dialog modal-lg" style = "max-width: 25%;">' +
      '<button type = "button" class = "close" data-dismiss = "modal" id = "myModal">&times;</button>' +
      '<div class = "modal-footer"></div></div></div></div></div>'));

这很丑陋、容易出错、难以维护、难以阅读。可以用更优雅的方式完成吗?

最佳答案

  • 首先,您的代码应该编写在 show.bs.modal 函数内。

    $('#target').on('show.bs.modal', function (e) {
      // do something...
    })
    

请参阅:http://getbootstrap.com/javascript/#modals-events

  • 其次,我更喜欢使用 jQuery 来创建 DOM 元素,就像这样

    $("<div>").addClass("col-md-4").attr("data-target","#myModal").append(
    $("<div>").addClass("modal fade")//add more here
    );
    

关于javascript - 将动态内容加载到引导模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34974606/

相关文章:

Angular 2 - 打开/关闭默认引导模式

javascript - 使用小型 Bootstrap 模态的超大背景模态

javascript - 如何关注alert中的文本输入字段与R中的modaldialog相结合?

javascript - 如果我在 textarea 中插入一个段落,如何设置 div 的不同位置

javascript - Node.js中的函数调用

javascript - 使用 Ajax 和对话框小部件

javascript - 单击偶数元素时为偶数元素添加类,单击奇数元素时为奇数元素添加类

javascript - 是否有一种跨浏览器的方式来通过 css 在点击时扩展文本?

javascript - 带有动态 div 的 JQuery 对话框

javascript - jQuery 行取消选择的不同行为,我不明白为什么