いくつかの選択ボックスを持つ「カテゴリ ツリー」があります。アイテムのカテゴリを選択すると、子カテゴリが読み込まれ、次の選択ボックスに表示されます。
フォームについては、DOM から.submit()最初のフォームを削除します。.category最後のものが残さnameれると、最後の に属性が与えられます.category。
ねじれは、ページに複数のアイテム フォームがある場合に発生します。私が行ったことは、jQuery を使用して.items を反復処理し、.each()そこから jQuery を使用.find()してアイテム内のカテゴリを見つけることです。
私が使用している While ループは、無限ループを作成します。私はスクリプトの実行中に変数を出力していましたが、私が思っているものを返しているとはconsole.log()思いません。.find()
html:
<div class="item">
....
<div class="category"></div>
<div class="category"></div>
....
</div>
JavaScript:
$('#transaction-form').submit(function(){
$('.item').each(function(){
var index = $(this).index();
var category = $(this).find('.category');
while (category.length > 1){
$($(category)[0]).parent().remove();
}
$(category[0]).attr('name', 'form-' + index.toString() + '-category');
});
});
category.lengthwhile ステートメントで呼び出すと、当然のことながら 2 が返されます。.find()の戻り値は jQuery オブジェクトではないと思います。