【问题标题】:bootstrap modal dynamic data from database从数据库引导模态动态数据
【发布时间】:2017-02-20 00:33:05
【问题描述】:

我想要打开模型并获取动态模型内容,但是当我调用 ajax 文件并获取响应数据时,模型未打开,我无法访问 php 代码中的 json 响应数据。当我将模型放入 ajx 文件并获得 html 响应时,响应成功但模型无法打开。请帮我解决问题。

<script>
    function test(id) {
        $.ajax({
            type: "GET",
            url: "<?php echo base_url(); ?>index.php/Appointment/get_model",
            data: "id=" + id,
            cache: false,
            success: function(data) {

                $("#model_test").html(data);
                $("#myModal2").modal('show');
                //displayRecords();
            }
        });

    }
</script>

这个是我的ajax文件get_model.php:

<?php
if (isset($_GET['id'])) {
    $id     = $_GET['id'];
    $query  = $this->db->query("select * from appointment where id='" . $id . "'");
    $result = $query->row();
    print_r($result);
    die;
    //echo(json_encode($result));
}
?>
   <div id="myModal2" class="modal fade" role="dialog">
        <div class="modal-dialog">

            <!-- Modal content-->
            <div class="modal-content">

                <div class="modal-body">
                    <div class="col-lg-12">
                        <div class="form-group  col-lg-3 col-md-3">
                            <label for="usr">Doctor Name:</label>
                        </div>
                        <div class="form-group  col-lg-7 col-md-7 ">
                            <input type="name" class="form-control input-lg" name="email" id="email_id" value="<?php
$result->name;
?>" placeholder="Doctor Name" required>
                        </div>

                        <div class="form-group  col-lg-3 col-md-3">
                            <label for="usr">Contact No:</label>
                        </div>
                        <div class="form-group  col-lg-7 col-md-7 ">
                            <input type="name" value="<?php
$result->contact_no;
?>" class="form-control input-lg" name="email" id="email_id" placeholder="Patient Name" required>
                        </div>
                    </div>
                </div>

这是我的 html 代码,我想在这里用动态内容打开模型:

<div id="model_test">
</div>


   <?php



                            foreach($result as $row)

                            {
<td onclick="test(<?php echo $row->id;?>)" data-toggle="modal" data-id="<?php echo $row->id;?>" data-target="#myModal2" ><?php echo ucfirst($row->name);?></td>
}

【问题讨论】:

  • 请格式化代码以使其更具可读性,并从代码 sn-ps 中删除非代码部分
  • 请清除您的问题..@pinal

标签: javascript php jquery css codeigniter


【解决方案1】:

你没有使用 MVC 编程模式! 你用数据库代码成视图?! 请制作一个具有以下功能的控制器:

function get_model(){
 $this->load->model('get_model');
 $value = $this->get_model->your_db_data_retrieve_model_function(data);
 $data = json_encode($value);
    $this->output
        ->set_content_type('application/json')
        ->set_output($data); 
 }

还需要一个模型(从数据库中检索数据):

function retrieve_data($id) {
  . ....
  return $data;
}

记得使用控制器从 $_GET 获取数据

$this->input->get('your_variable_name')

将其传递给模型(ID)。

考虑阅读MVC(模型-视图-控制器)模式的原理。

【讨论】:

    【解决方案2】:

    你的 div 关闭标签有问题,请检查所有 div 标签是否正确关闭,试试下面的代码

    <div id="myModal2" class="modal fade" role="dialog">
    

    <!-- Modal content-->
    <div class="modal-content">
    
      <div class="modal-body">
        <div class="col-lg-12">
        <div class="form-group  col-lg-3 col-md-3">
                                <label for="usr">Doctor Name:</label>
                                </div>
                                <div class="form-group  col-lg-7 col-md-7 ">
                                <input type="name" class="form-control input-lg" name="email" id="email_id" value="<?php $result->name; ?>"
                                placeholder="Doctor Name" required >
                                </div>
    
                                <div class="form-group  col-lg-3 col-md-3">
                                <label for="usr">Contact No:</label>
                                </div>
                                <div class="form-group  col-lg-7 col-md-7 ">
                                <input type="name" value="<?php $result->contact_no; ?>" class="form-control input-lg" name="email" id="email_id"  
                                placeholder="Patient Name" required >
                                </div>
          </div>
        </div>
    
      and this one is my html code  i want to open model here with dynamic content
    
      <div id="model_test">
       </div>
      </div>
    

    <td onclick="test(<?php echo $row->id;?>)" data-toggle="modal" data-id="<?php echo $row->id;?>" data-target="#myModal2" ><?php echo ucfirst($row->name);?></td>
    

    【讨论】:

    • 你能发布完整的 HTML 代码吗?用于显示页面?
    • 现在我打开了我的模态,但模态被覆盖了。我有问题解释请帮助我
    • 你必须提供给我们完整的描述,我想帮你,但至少执行代码,从你的浏览器中选择查看源代码,然后在问题区域中传递结果,然后告诉我们再次以该代码为例,究竟需要做什么。
    • 如果你只想显示model_test,那么删除&lt;div class="modal-body"&gt;和它的结束div之间的所有东西,然后把你的div &lt;div id="model_test"&gt;放在&lt;div class="modal-body"&gt;里面
    • 不,我也想要模态内容,现在我解决了我的模型打开问题,但是当我第一次点击 (在我的代码中给出)然后模态打开正确并且它工作完美但问题就在这里当我单击第二个 td 然后模型覆盖时,我的意思是两个模态打开,我无法执行任何操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 2015-03-05
    相关资源
    最近更新 更多