我在桌子上有一个看起来像这样的记录列表..
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方法,这个变量并不属于任何循环,但仍然没有工作。
答案 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>
这应该这样做。