すべての注文をシステムに出力し、すべてのリンクにカスタム属性oid
(order-id)を追加するPHPファイルがあります。私は私はこれがPHP jQuery HTML - カスタムHTML属性を取得する
<a href='#' class='completeOrder' oid='8'>Un-completed</a>
私は何をしたいのは、このリンクがクリックされたときで、チェックボックスを持つフォームを起動得る要素を検査しないときに正しいHTMLを与える
<a href='#' class='completeOrder' oid='$order_id'>$status</a>
、:私のリンクは次のようになり正しい注文IDの送信ボタンをHTMLで送信します。したがって、フォームと注文IDを別のPHPファイルに送信して処理することができます(この場合、注文ステータスを更新します)。 jQueryのAJAX呼び出しを使用している私は、チェックボックスでフォームを起動するためにやっている
、私はIDを確認するために警告しようとjQueryのOIDを得た場合、正しくそれは...その未定義私に語った:
あなたの関数で利用可能なthis
が
getCompleteOrderTools
this
ご希望のリンクのクリックイベントのために参照してくださいしたかったということに異なっているよう
$("body").delegate(".completeOrder", "click", function(event) {
event.preventDefault();
getCompleteOrderTools();
$(".content").toggleClass("hidden");
$('div.hidden').fadeIn(800).removeClass('hidden');
$("#notifications-drop").toggleClass('hidden');
});
function getCompleteOrderTools() {
var o_id = $(this).attr('oid');
alert(o_id);
$.ajax({
url: "action.php",
method: "POST",
data: {
getCompleteOrderTools: 1,
orderId: o_id
},
success: function(data) {
$(".row").append(data);
},
});
}
jqueryバージョン??? –
HTMLのカスタム属性が無効であることに注意してください。カスタムメタデータを要素に格納する場合は、代わりに 'data- *'属性を使用してください。また、 'delegate'はa * long * time前に廃止されました。 jQueryのバージョンを更新して、代わりに 'on()'を使用する必要があります –
本当ですか?製品の部分では、私はpid = product_id ..を設定することができ、同じテクニックを使用していたので機能しましたか? –