動的な量の「注文」を表示するページがあり、「表示」ボタンと「印刷」ボタンがあります。特定の OrderNumber を表示するには、onmouseover によってトリガーされる JavaScript 関数と jQuery ajax 関数を使用して、ボタンのテキストを変更し、データベース エントリを作成してから、別のページを表示または印刷します。問題は、注文が onmouseover から複数回表示または印刷されることです。jQueryのみを使用して特定のOrderNumberを呼び出すにはどうすればよいですか? これが私が今使っているコードです:
このコードは、注文ごとに繰り返されます。
<div class="console_orders_details">
<input type="button" value="View"
id="vieworder'.$row[orderid].'" onmouseover="vieworder('.$row[orderid].');">
</div>
注文を表示する関数は次のとおりです。
function vieworder(id){
$(function(){
$('#vieworder' + id).click(function(){
var orderid = id;
var dataString = 'orderid='+ orderid; //string passed to url
$.ajax
({
url: "includes/ajax/console-view.php", //url of php script
dataType: 'html', //json is return type from php script
data: dataString, //dataString is the string passed to the url
success: function(result)
{
window.open("print.php?view=1&orderid="+id+"");
$('#vieworder' + orderid + ':input[type="button"]').attr("value", "Viewed!").fadeIn(400);
}
});
})
});
}
「vieworder」関数を削除し、純粋な jQuery 関数を使用する必要があると想定しています。ただし、注文「id」を送信する方法がわからないため、JavaScriptを使用しました。