在php循环中的一个锚标签中传递一个php变量

时间:2017-07-05 08:47:26

标签: javascript php jquery

我在桌子上有一个看起来像这样的记录列表..

PHP / HTML代码:

<script src="js/jquery-3.2.1.js"></script>
<?php
while($resrecord=mysqli_fetch_array($resdata))
{  ?>      
  <tr>
        <td> <?php echo $resrecord[0];?>  </td>
        <td> <?php echo $resrecord[2];?>  </td>
        <td> <?php echo $resrecord[3];?>   </td>
        <td> <a onclick="window.open('test.php?id='+'<?php echo $resrecord[0]; ?>','popup','width=600,height=600');">Tesing</a>  </td>
          //also checked with href of anchor tag
  </tr>
 <?php }   ?>

这意味着我无法在javascript中访问php变量。我也试过这些方法

<script type="text/javascript">
  var x= '<?php echo $resrecord[0]; ?>';  
  //OR
  var x= '<?php echo json_encode($resrecord[0]); ?>';
    //here x won't populate with above php variables
</script>

我还在一个简单的PHP变量上测试了上面的javascript方法,这个变量并不属于任何循环,但仍然没有工作。

2 个答案:

答案 0 :(得分:0)

为了在JS中访问你的变量值,最好的方法是,保留一些与某个选择器绑定的元素的值(如果不需要显示则保持隐藏)。然后使用该选择器访问该值。 例如

<script src="js/jquery-3.2.1.js"></script>
<?php
$i=0;
while($resrecord=mysqli_fetch_array($resdata))
{  $i++ ?>      
  <tr>
        <td><div class="hidden selector_<?php echo $i ?>">
               <?php echo $resrecord[0];?> 
            </div>
               <?php echo $resrecord[0];?> 
        </td>
        <td> <?php echo $resrecord[2];?>  </td>
        <td> <?php echo $resrecord[3];?>   </td>
        <td> <a onclick="window.open('test.php?id='+'<?php echo $resrecord[0]; ?>','popup','width=600,height=600');">Tesing</a>  </td>
          //also checked with href of anchor tag
  </tr>
 <?php }   ?>

<强> JAVASCRIPT

var x = $(".selector_1").val();

//你可以根据需要进行迭代; 希望您可以通过以上示例获得一些想法

答案 1 :(得分:0)

[更新] 您可以在课程中传递值使用属性,试试这个。

<script src="js/jquery-3.2.1.js"></script>
<?php while($resrecord=mysqli_fetch_array($resdata))  {  ?>      
    <tr>
         <td> <?php echo $resrecord[0];?>  </td>
         <td> <?php echo $resrecord[2];?>  </td>
         <td> <?php echo $resrecord[3];?>   </td>
         <td> <a class="getAllData" data-id="<?php echo $resrecord[0];?>">Tesing</a> </td>
         //also checked with href of anchor tag
    </tr>
<?php }   ?>

然后使用jquery函数:

你这样做。

<script>
    $(window).ready(function(){
        $(".getAllData").on("click", function(){
            var id = $(this).data('id'); //get the current data-id you the row
            window.open('test.php?id='+id,'popup','width=600,height=600');
        });
    });
</script>

这应该这样做。