我有这个问题,我创建了一个表单(使用Laravel),它看起来像这样:
{{-- Choose a category from the radios provided, this is where I need to get the $category->id and pass it to the next element for the sub category selection
--}}
<div class="form-group">
<p><b>Choose a category:</b></p>
@foreach (App\Http\Models\GalleryCategories::all() as $category)
{!! Form::label('category_id', $category->name) !!}
{!! Form::radio('category_id', $category->id, null, ['class' => 'form-field']) !!}
@endforeach
</div>
{{-- Using the category id passed to this form-group I can then access only the sub categories
that have a gallery_categories_id = category --}}
<div class="form-group">
<p><b>Choose a sub category:</b></p>
@foreach (App\Http\Models\GallerySubCategories::all() as $sub_category)
{!! Form::label('sub_category_id', $sub_category->name) !!}
{!! Form::radio('sub_category_id', $sub_category->id, null, ['class' => 'form-field']) !!}
@endforeach
</div>
我进行数据库设置的方式是类别有许多子类别。首先它会显示一个类别列表,例如:
cat1()cat2()cat3()...
然后表单将显示如下子类别:
subcat1()subcat2()subcat3()
但我想要做的是,当有人选择一个类别时,我想捕获$ category-&gt; id,然后立即将其传递给下一个表单元素,然后显示与该类别相关的子类别。
如果我要打破这一切并提交几个表格以来回传递数据就足够了,但我希望能够在没有提交表格的情况下实现这一目标。
似乎JS / Ajax是实现这一目标的最佳方式,我不确定。你怎么看?我还没有经验,但是我猜这可能是一个相当简单的过程。
谢谢
答案 0 :(得分:1)
你可能希望它使用jQuery并在包含类别的单选按钮上使用var arr = [1, 2, 3, 4, 5];
var biggest = Math.max.apply(Math, arr);
console.log(biggest);//outputs 5 which is correct
事件。然后你拿它的价值,通过AJAX你发送到服务器的类别ID,并通过JSON返回他们的子类别。使用此JSON,您只需循环其内容,并构建包含新信息的新单选按钮。看起来很简单,根本不需要提交表格。