SimpleModal foreach 循环动态内容
SimpleModal Foreach Loop Dynamic Content
如何在foreach循环中使用simplemodal,使其不重复相同的信息?
例:
foreach($ret as $v)
{
<div id='osx-modal'>
<input type='button' name='osx' value='View' class='osx demo'/>
</div>
<div id="osx-modal-content">
<div class="close"><a href="#" class="simplemodal-close">x</a></div>
<div id="osx-modal-data">
<div id="toon_box">
<div id="toon_name">
<?php echo $v['toon_name'];?>
</div>
<div id="toon_avatar">
<?php echo '<img src="' . $v['avatar'] . '" alt="" />';?>
</div>
</div>
</div>
}
元数据是从网站上的用户中提取的,并在单独的模态中为每个用户显示该元数据。为了澄清起见,假设foreach重复了10次,因为数据库中有10个用户。这将为每个用户创建 10 个单独的按钮,当您单击模态框时,会弹出其中包含其中的数据。
问题是,当您单击每个按钮时,每个模式框中都是相同的用户。您将如何设置它,以便每个模态框显示正确的用户元数据。我已经检查了持久性是否在简单模态中设置为 false.js确实如此。
您在同一模型框中具有相同元数据的原因是因为这行代码
<input type='button' name='osx' value='View' class='osx demo'/>
使用 class
是非常通用的,因此您应该改用id
,其中每个按钮都有自己的uniqid
<input type='button' name='osx' value='View' id='os1'/>
<input type='button' name='osx' value='View' id='os2'/>
现在你的<div id="osx-modal-content">
也会看起来像这样
<div id="osx-modal-content1">
<div id="osx-modal-content2">
您的javascript
看起来像这样
$("os1").addEvent("click", function(){
var SM = new SimpleModal();
SM.show({
"title":"Title",
"contents": $("#osx-modal-content1").html()
});
});
$("os2").addEvent("click", function(){
var SM = new SimpleModal();
SM.show({
"title":"Title",
"contents": $("#osx-modal-content2").html()
});
});
可以使用查看所有内容的映射方式???这是您实现每个模型中的每个内容的人
如果您需要更多信息,请告诉我
编辑 1 个示例
<?php
$x = 0;
foreach ( $ret as $v ) {
$x ++;
$content = "
<script type='"text/javascript'">addModal($x)</script>
<div id='osx-modal'>
<input type='button' name='osx' value='View' id='osx{$x}'/>
</div>
<div id='"osx-modal-content{$x}'">
<div class='"close'"><a href='"#'" class='"simplemodal-close'">x</a></div>
<div id='"osx-modal-data'">
<div id='"toon_box'">
<div id='"toon_name'">
{$v['toon_name']}
</div>
<div id='"toon_avatar'">
<img src='"{$v['avatar']}'" alt='"'" />
</div>
</div>
</div>";
}
?>
<script type="text/javascript">
function addModal(x)
{
$("osx" + x).addEvent("click", function(){
var SM = new SimpleModal();
SM.show({
"title":"Title",
"contents": $("#osx-modal-content" + x).html()
});
});
}
</script>
终于让它
工作了,这要归功于 standup75!
jQuery(function ($) {
var OSX = {
container: null,
init: function () {
$("[name=osx]").click(function (e) {
e.preventDefault();
$(this).parent().next().modal({
overlayId: 'osx-overlay',
containerId: 'osx-container',
closeHTML: null,
minHeight: 80,
opacity: 65,
position: ['0',],
overlayClose: true,
onOpen: OSX.open,
onClose: OSX.close
});
});
},
相关文章:
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- 关于动态元素中循环中的事件
- 在PHP循环中动态创建jQuery列表视图
- 用于动态创建对象的嵌套循环
- 在普通javascript中动态增加循环
- JavaScript/循环混淆中的动态作用域与词法作用域
- 如何动态创建$rootScope$angularjs中for循环中的事件侦听器
- 如何验证循环动态单选按钮
- 如何动态使用for循环,将具有不同参数的函数推送到数组中
- 对于function(),带有addEventListener的循环不是动态的
- 动态绑定onclick事件为for循环中的所有按钮提供相同的值
- 如何在其他对象中动态生成javascript对象.你能在对象内部使用for循环吗
- LiveCycle:在动态复选框中循环
- jQuery:从带有 for 循环的数组动态构建表单
- 使用 jQuery 创建动态元素 单击事件始终返回 for 循环中的最后一个索引
- Javascript 使用 For 循环创建动态表,其中包含要在其中显示的数组
- 如何使用for循环动态地将行添加到Google图表
- 谷歌地图生成了Java脚本的任何动态循环
- 对于循环-通过多个数组动态循环
- 动态循环JSON,并在设置间隔后显示和隐藏对象元素