本质上,我试图捕获 HTML 下拉菜单的值并使用用户选择的行调用 php 函数(即 print_wp_cart_button_for_product)。我创建了一个名为 onchange 的 JQuery 函数,但遇到了几个问题。通过使用警报,我确定该函数已被调用并且该值存储在 currentrow 中。此外,通过使用 firefox Web 控制台,我知道 order.php 是使用适当的参数调用的。本来我用的是ajax成功方法,但是函数没有被调用,所以我改用了complete方法,至少解决了第一个问题。我正在处理的第二个问题涉及将变量 currentrow 存储在 test 的 innerHTML 中。当我将 $('#test').html(currentrow) 更改为 $('#test').html("Complete" )字符串被输出到屏幕上,正如我所期望的那样,但我无法使用当前行的值动态地这样做。我发现的最后一个问题涉及将测试 div 标记的值保存到 php 变量中。我尝试使用 $_GET 来捕获该值并随后调用我的 php 函数,但没有运气。
<div id="test">
</div>
<script type = "text/javascript">
function productchange()
{
var currentrow = $('#productcategory1').val();
//alert(currentrow);
$.ajax({
type: "GET",
url: "http://www.example.com/wp-content/themes/themeX/order.php",
data: {'rownum': currentrow},
complete: function(currentrow){
//alert('COMPLETE');
$('#test').html(currentrow);
//$('#test').html("Complete");
}});
return false;
}
</script>
<?php $rownum = $_GET['test']; ?>
<?php echo print_wp_cart_button_for_product($products[$rownum]["Product"], $products[$rownum]["Price"]); ?>
订单.php
<?php
$rownum= $_GET['rownum'];
echo "Row number = $rownum";
?>