フォームが操作されるページでは、ページがロードされるとすぐに次のAJAX呼び出しが実行されます。私はサプライヤと製品IDのドロップダウンリストを持っています。このAJAX呼び出しは、データベースに接続しているすべての現在のID値を取得し、<select>
ドロップダウン要素のタグ<option>
にスローするURLを参照しています。私にとってAJAXから別のAJAXコールに呼び出されたコンテンツを使用する
$(function(){
// this is getting the dropdown values for the Supplier ID dropdown
$.ajax({
url: "getSuppliers.php",
async: true,
success: function(result) {
$("#supplier").html(result);
}
})
// this is getting the dropdown values for the Product ID dropdown
$.ajax({
url: "getProducts.php",
async: true,
success: function(result) {
$("#products").html(result);
}
})
});
次のステップでは、ときに、このドロップダウン項目の変更何かをするAJAXを呼び出すです。私はちょうど参照したgetSuppliers.php
とgetProducts.php
の両方の<select>
要素に対して次のことを行っています。私は、関数を呼び出しています
<option name="supplierID" value=$row["SupplierID"] onchange="suppChange()"> $row["SupplierID"] </option>";
、suppChange()
をする場合、このドロップダウン値の変更を行うことができます。私はsuppChange()
私のフォームが配置されているメインファイル(私は最初の2つのAJAX呼び出しを持っている同じファイル)にあります。 suppChange()
は次のようになります。
function suppChange() {
$.ajax({
url: "displaySuppliers.php",
async: true,
success: function(result) {
$("#supplierStatic").html(result);
$("#products").html("TESTING");
}
})
}
私はフォームを変更すると、何も起こりません。無効な<option>
とは関係ありません。この値をconsole.log(supplierID)
で取得しようとしましたが、正しい値を取得しようとしています。私はちょうどなぜonchange=suppChange()
が何もしていないとドロップダウンを変更するときに関数を呼び出すのだろうかと思っています。
select
タグでは、ないoption
タグで使用されなければならないので、ありがとうございました。私はそれがとても簡単な修正であった限り、私がこれに関して行ってきたことは信じられません。 – brnnこれで問題は解決しましたか? – xRahul
はい、「解決」をクリックしようとしていますが、待ち時間があります。私がやろうとしていることをやり遂げるには良い方法があると確信していますが、私はAJAXが何であるか、そしてデータベースとWebページを使ってコードを作成する方法を学んでいます。 – brnn