Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Jquery访问php值_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 从Jquery访问php值

Javascript 从Jquery访问php值,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,奇怪的是,我在谷歌没有找到任何东西,但我希望你能帮助我。我有一张有不同账目的桌子。当我单击其中一行时,将滑入此特定帐户的另一个表。这个帐户的“特定表”需要显示一些帐户指定的数据,因此我需要告诉我的ajax请求他需要哪些帐户数据。问题是:我不知道该怎么说。我从未使用过没有表单的Ajax请求 我的HTML表(我的ajax请求需要var$orderid) 因此,基本上我的问题是:如何从Jquery函数访问php值$orderid?将您的id存储在JS可以访问的某些数据属性中。将订单id放入html:

奇怪的是,我在谷歌没有找到任何东西,但我希望你能帮助我。我有一张有不同账目的桌子。当我单击其中一行时,将滑入此特定帐户的另一个表。这个帐户的“特定表”需要显示一些帐户指定的数据,因此我需要告诉我的ajax请求他需要哪些帐户数据。问题是:我不知道该怎么说。我从未使用过没有表单的Ajax请求

我的HTML表(我的ajax请求需要var$orderid)


因此,基本上我的问题是:如何从Jquery函数访问php值$orderid?

将您的id存储在JS可以访问的某些数据属性中。

将订单id放入html:

<tr class='header mySlideToggler' data-id="<?php echo $orderid; ?>">

创建一些隐藏变量并为其赋值$orderid


然后在jQuery中读取相同的变量。完成了:)

您可以在HTML元素中的任何位置设置ordered属性,如下所示:

<?php
foreach($data as $row)
{
    $orderid =$row['id'];
    $username = $row['name'];
    $done = $row['refsDone'];
    $quantity = $row['quantity'];
    $running =$row['refsRunning'];
    $untouched = $quantity - ($done+$running);
 ?>
    <tr class='header mySlideToggler' orderedid='<?php echo $orderedid ?>'>
    <td class='align-center'><?php echo $username ?></td>
    <td>0 %</td>
    <td>22 Aug 2014</td>
    <td><?php echo $done / $quantity ?></td>
    <td><?php echo $running ?></td>
    <td><?php echo $untouched ?></td>
    <td>
        <a href='#' class='table-icon edit' title='Edit'></a>
        <a href='#' class='table-icon expand mySlideToggler' title='Expand'></a>
        <a href='#' class='table-icon delete' title='Delete'></a>
    </td>
    </tr><tr style='padding: 0'><td colspan='7' style='padding: 0'>
        <div class='slideMe' style='display: none'>
            Content of the additional info is here
        </div>
    </td></tr>
<?php 
}
?>

作为一个好的实践,不要“回显”您的HTML。取而代之的是,在PHP标记中包含普通HTML。这将使您的代码更加易读。

ajax只是一个花哨的流行词。它实际上只是“后台http请求”。仅仅因为它是ajax并不能让它神奇地与众不同。这是一个POST或GET请求,就像任何其他POST或GET请求一样,只是碰巧发生在后台。您仍然可以像使用常规表单一样传递“form”name=value对,只是不需要实际的表单来传递。最简单的答案是您不能。Php变量在服务器端,而jQuery代码在客户端运行。您可以做的是在html中添加一个数据字段,并通过jQuery访问该字段。(正如@dave解释的)考虑用html代码更新你的答案samplei正要这么做,但实际上dave更快了。他的回答是最好的。非常感谢大家的帮助。这很好用。我爱这个社区!谢谢你的提示和结果。我想知道专业人士是如何混合html和php的。我将改变我的风格:-)
<tr class='header mySlideToggler' data-id="<?php echo $orderid; ?>">
$('.mySlideToggler').click(function( event ){
  event.preventDefault();
  event.stopPropagation();
  var id = $(this).data('id');
  $(this).next().find('.slideMe').slideToggle();
});
<?php
foreach($data as $row)
{
    $orderid =$row['id'];
    $username = $row['name'];
    $done = $row['refsDone'];
    $quantity = $row['quantity'];
    $running =$row['refsRunning'];
    $untouched = $quantity - ($done+$running);
 ?>
    <tr class='header mySlideToggler' orderedid='<?php echo $orderedid ?>'>
    <td class='align-center'><?php echo $username ?></td>
    <td>0 %</td>
    <td>22 Aug 2014</td>
    <td><?php echo $done / $quantity ?></td>
    <td><?php echo $running ?></td>
    <td><?php echo $untouched ?></td>
    <td>
        <a href='#' class='table-icon edit' title='Edit'></a>
        <a href='#' class='table-icon expand mySlideToggler' title='Expand'></a>
        <a href='#' class='table-icon delete' title='Delete'></a>
    </td>
    </tr><tr style='padding: 0'><td colspan='7' style='padding: 0'>
        <div class='slideMe' style='display: none'>
            Content of the additional info is here
        </div>
    </td></tr>
<?php 
}
?>
$(this).attr('orderedid');