解決済み-以下の私の答えを参照してください
リストを表示したいページがありますparentCategories
。ユーザーが表示(またはサブカテゴリ)parentCategory
のリストを選択したとき。categories
次に、ユーザーがをクリックしてcategory
リストをproducts
表示できるようにします。
ここで説明した内容を使用してcategory
、products
機能を独自のページで機能させるようにしました。
parentCategories
クリック可能なリストを作成して、リストcategories
(またはサブカテゴリ)を表示することもできます。
products
リストが表示された後にリストを表示しようとすると、問題が発生categories
します。
次のコードを使用しようとしています。
<script type="text/javascript">
$(document).ready(function () {
function getCategories(e) {
e.preventDefault();
e.stopPropagation();
var $parentCategory = $(this).closest(".parentCategory");
var parentCategoryName = $parentCategory.attr("id");
$('.divResult', $parentCategory).load("@Url.Action("CategoryList", "Product")", {
parentCategory: parentCategoryName
});
}
$(".parentCategory").on("click", "a", getCategories);
function getProducts(f) {
f.preventDefault();
f.stopPropagation();
var $category = $(this).closest(".category");
var categoryName = $category.attr("id");
$('.divResult', $category).load("@Url.Action("ProductList", "Product")", {
category: categoryName
});
}
$(".category").on("click", "a", getProducts);
});
</script>
ほぼ同じように繰り返されることはわかっていますが、もう少しクリーンアップする前に、機能させるようにしています。私がそれが機能するはずだと思う方法は、ユーザーがparentCategory
リンクをクリックしたとき、それはのdivクラス内にあるparentCategory
ので、関数が起動することgetCategories
です。これにより、クラスのdivを含む親parentCategory
div内にいくつかのdivがcategory
作成されます。
$(function() {
$(".category").on("click", "a", getProducts);
});
category
関数のdiv内のリンクをクリックすると、起動するgetProducts
はずですが、起動しません。代わりにgetCategories
再び発砲します(トリガーDebug.Write()
するアクション内の理由でわかります。getCategories
categories
の下に表示された後parentCategories
、私のページは次のような形になります。
<div class="parentCategory" id="1">
. . .
<div class="result">
<div class="category" id="1">
. . .
<div class="result">
*This is where Products would be listed
</div>
</div>
<div class="category" id="2">
. . .
<div class="result">
*This is where Products would be listed
</div>
</div>
</div>
. . .
</div>
<div class="parentCategory" id="2">
. . .
<div class="result">
. . .
</div>
</div>
category
クラスdiv内のリンクをクリックすると、関数getProducts
がアクティブになるのではなく、何をする必要がありgetCategories
ますか?
アップデート
category
divの外側のdivでコードをテストしましたがparentCategory
、すべてが期待どおりに機能します。category
問題は間違いなく私のdivがdiv内にあるという事実にあるようですparentCategory
そして:
$(".parentCategory").on("click", "a", getCategories);
以下の使用を上書きするようです:
$(".category").on("click", "a", getProducts);
私はどうやら何かを再構築する必要があります-私はただ何がわからないのです。