【问题标题】:bootstrap modal dynamic remote content based on parameter基于参数的引导模态动态远程内容
【发布时间】:2017-05-22 17:26:47
【问题描述】:

您好,我正在处理以引导模式显示的弹出窗口。我正在创建如下表所示的按钮:

<button class = "sendbt btn btn-default" href="test.php?spz='.$row['id'].'" data-target="#myModal" data-toggle="modal"><b>Test</b></button>

所以表的每一行上的按钮的远程内容应该根据 $row['id'] 不同 - 它是来自数据库的变量,并且表是通过 php echo 循环创建的。 问题是我的模式弹出窗口总是根据我单击的第一个按钮显示内容,然后在我关闭它之后,其他行中的每个其他按钮都显示相同的内容。它不会根据参数而改变。我需要重新加载页面,以在不同的按钮上显示更改的内容。有没有办法让这个工作,所以表格中的每个按钮都会根据我的参数显示正确的内容,而无需每次都重新加载页面?

感谢您的建议。

【问题讨论】:

    标签: javascript php html twitter-bootstrap


    【解决方案1】:

    最好的方法是为按钮添加自定义属性并从按钮中删除 href 属性...制作按钮类型为按钮并将动态 id 分配给在行中创建的每个按钮,如下所示

    <button type="button" class = "sendbt btn btn-default" data-id="$row['id']"><b>Test</b></button>
    

    现在将点击监听器添加到按钮并找到它的data-id,然后发送ajax请求并使用响应更新模态内容: 编写 jquery 向 test.php 页面发送请求

    $('body').on('click','.sendbt',function(){
         var data-id = $(this).attr('data-id');
          $.ajax({
             dataType : 'html',
             'type': 'GET',
             'data' : {id:data-id},
              'url' : 'test.php',
              success : function(data){
                $('#myModal tbody-content').html(data);
                 $('#myModal').modal('show');
    },
              error : function(){
           console.log("There is an Error ....!")
    }
    
    });
    });
    

    在您的 Test.php 中

        if(isset($_REQUEST['id'])){
       $query = mysql_query("select * from table_name where id=".$_REQUEST['id']);
    $row = mysql_fetch_array($query);
    $content = $row['your_attribute'];
    echo $content;
    }
    

    它将显示与您在每个请求中发送的 id 相关的内容

    【讨论】:

    • 不知何故,这只适用于我单击的前两个按钮。我单击的第三个按钮显示具有 效果的黑屏。
    • 在你的 test.php print_r($row);我认为数据库中不会有数据反对 id
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    相关资源
    最近更新 更多