基本的に、HTML ドロップダウン メニューの値をキャプチャし、ユーザーが選択した行で php 関数 (つまり、print_wp_cart_button_for_product) を呼び出そうとしています。onchange と呼ばれる JQuery 関数を作成しましたが、いくつかの問題が発生しました。アラートを使用することで、確実に関数が呼び出され、値が currentrow に格納されます。さらに、Firefox Web コンソールを使用することで、order.php が適切なパラメーターで呼び出されることがわかります。もともと ajax サクセス メソッドを使用していましたが、関数が呼び出されていなかったので、完全なメソッドに切り替えました。これにより、少なくとも最初の問題は解決されました。私が扱っている 2 番目の問題は、変数 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"]); ?>
Order.php
<?php
$rownum= $_GET['rownum'];
echo "Row number = $rownum";
?>