模态PHP上的动态数据目标

时间:2018-11-04 18:19:35

标签: php twitter-bootstrap bootstrap-modal

我正在循环一个动态PHP值以及一个与模式形式链接的按钮。

问题是当前我将数据目标设置为要循环的动态值之一,但是它永远无法正常工作。

这是循环的PHP + HTML代码:

                    while($row = mysqli_fetch_assoc($seleccionar_requerimientos)){

                    $req_id = $row['req_id'];

                    ?>    

    <tr>
    <td><?php echo "{$req_id}" ?></td>

    <!-- Here we place the data-target to dynamic value -->    
    <td><p data-placement="top" data-toggle="tooltip" title="Editar"><button class="btn btn-primary btn-xs" data-title="Edit" data-toggle="modal" **data-target="#<?php echo $req_id; ?>" ><span class="fas fa-edit"></span></button></p></td>

    <!-- Here we set the dynamic ID linked to previous trigger -->
    <div class="modal fade" id="<?php echo $req_id; ?>" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true">
    <div class="modal-dialog">
    <div class="modal-content">
          <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
        <h4 class="modal-title custom_align" id="Heading">Editar Requerimiento</h4>
      </div>
          <div class="modal-body">
        <div class="form-group">
        <textarea rows="2" class="form-control" placeholder="<?php echo $req_desc_corta; ?>"></textarea>
        </div>
      </div>
          <div class="modal-footer ">
        <button type="button" class="btn btn-warning btn-lg" style="width: 100%;"><span class="fas fa-wrench"></span> Actualizar</button>
      </div>
        </div>
  </div>
    </div>
<?php } ?>  

我在哪里错了?我可以在该网站的源代码上看到,两个值当前都已正确设置,但模态仍未显示。

如果数据目标和ID上的值都是动态的,则它们会正确显示在站点源代码上,但模式永远不会触发。

如果手动写入值,则模态会正确弹出,确认模态代码正在工作,但是由于其不是动态值,因此会为每个循环项打开相同的形式,这就是在其上写入动态值的原因

这是我在显示动态值时在源代码上获得的HTML输出:

    <!-- Echo en bucle de los botones de editar el requerimiento -->    
    <td><p data-placement="top" data-toggle="tooltip" title="Editar"><button class="btn btn-primary btn-xs" data-title="Edit" data-toggle="modal" data-target="#9" ><span class="fas fa-edit"></span></button></p></td>

    <!-- Pop Up con el form de editar el requerimiento -->
    <div class="modal fade" id="9" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true">
    <div class="modal-dialog">
    <div class="modal-content">
          <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
        <h4 class="modal-title custom_align" id="Heading">Editar Requerimiento</h4>
      </div>
          <div class="modal-body">
        <div class="form-group">
        <textarea rows="2" class="form-control" placeholder="dsfgdfg"></textarea>
        </div>
      </div>
          <div class="modal-footer ">
        <button type="button" class="btn btn-warning btn-lg" style="width: 100%;"><span class="fas fa-wrench"></span> Actualizar</button>
      </div>
        </div>
  </div>
    </div>

很奇怪,如果我要更改

data-target="#<?php echo $req_id; ?>"

收件人

data-target="#9"

我也改变了

<div class="modal fade" id="<?php echo $req_id; ?>" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true">

收件人

<div class="modal fade" id="9" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true">

然后它可以工作(带有静态值)

2 个答案:

答案 0 :(得分:0)

我认为id属性仅使用数字是个坏主意。请在数字前使用一些字符串。来自https://www.w3schools.com/tags/att_global_id.asp

  

必须至少包含一个字符

答案 1 :(得分:0)

您的代码是否有可能为$ req_id生成重复值? 如果在手动放置ID时代码可以正常工作,则问题可能出在ID上,并且没有很多方法可能会出错。 ID重复或它们的输出方式存在其他问题。您可以添加整个页面的源代码吗?您是否通过控制台警告您有关重复的ID?