语义 UI 动态弹出窗口不起作用

Semantic-UI dynamic popup not working

本文关键字:窗口 不起作用 UI 动态 语义      更新时间:2023-09-26
   var val = '124';
        function imagepop(nval) {
          val = nval;
        }
        $(document)
                .ready(function () {
                    $('.ui.selection.dropdown').dropdown();
                    $('.ui.menu .ui.dropdown').dropdown({
                        on: 'hover'
                    });
                    $('#'+val).popup({
                        popup: $('.fluid.popup'),
                        on: 'click'
                    });
                });

我试图弹出来自数据库HTML代码的动态内容,如下所示

<div class="extra">
        <div id="<?php echo$row['idproperty']; ?>" class="ui more primary button"  onclick="imagepop(<?php echo$row['idproperty']; ?>)">
        More
       </div>
      <div class="ui fluid popup top left transition hidden" >
      <p><b>Description</b><?php echo$row['description']; ?></p>
      <div class="ui three column center aligned grid">
      <div class="column"> </div>
            </div>
            </div>

idproperty从数据库中获取一些数字,我需要在弹出窗口中显示每个数据,请帮助我解决此问题

函数imagepop(nval)之前调用$(document).ready的函数,该函数将idprperty的值分配给val$(document).ready 处的函数只调用一次,当文档加载完成时,这意味着这部分代码:

$('#'+val).popup({
    popup: $('.fluid.popup'),
    on: 'click'
});

val获取新值时不会调用,该值源自idproperty

将这部分代码移动到imagepop(navl)函数的末尾,这可能会解决您的问题。

如果您仍然希望在页面加载时立即运行这部分代码,则需要准备好idproperty的真正值。一种方法是在 HTML 中包含隐藏输入字段,并让 PHP 将值作为默认值提供给它,然后在 $(document).ready 函数中从 js 中读取此值:

在您的 HTML 中:

 <input type="hidden" id="idproperty" name="idproperty" value="<?php echo $row['idproperty']; ?>">

$(document).ready函数中:

val = $(idproperty).val();
$('#'+val).popup({ //... rest of your code here