var roleByCategory = {
A: ["Soup", "Juice", "Tea", "Others"],
B: ["Soup", "Juice", "Water", "Others"],
C: ["Soup", "Juice", "Coffee", "Tea", "Others"]
}
$("form").on("change", ".indi_ele", changeCat);
$(".indi_ele select").change();
function changeCat(event) { //should handle everything
var indie = $(event.target);
var depends = indie.closest('select').find('.gfield_select'); //dependent dropdown
var type = indie.val(); // this equals A, B, or C
var catOptions = "";
for (categoryId = 0; categoryId < roleByCategory[type].length; categoryId++) {
catOptions += "<option>" + roleByCategory[type][categoryId] + "</option>";
}
depends.html(catOptions);
}
最初のドロップダウンの要素に特定の値を与え、2番目のドロップダウンの要素を移入事前に(あなたが望むならあなたはそれをユーザーから隠すかもしれません)。最初のドロップダウンの変更時にfilter()
メソッドを使用して2番目のドロップダウンをフィルタリングします。
私が使用する値は、ドロップダウンから一意ではありません。 item1はitem2と同じオプションを持ちます。しかし、item1はcat1のみに影響する必要があります.cat2ではなく、item2はcat2などに影響する必要があります。 これは私が解決しようとしている問題です。影響を受ける要素にのみ影響するようにそれらの要素をリンクしようとしています –