将表单值传递给下一个表单元素而不提交表单

时间:2015-05-23 17:18:37

标签: javascript php laravel-5

我有这个问题,我创建了一个表单(使用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是实现这一目标的最佳方式,我不确定。你怎么看?我还没有经验,但是我猜这可能是一个相当简单的过程。

谢谢

1 个答案:

答案 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,您只需循环其内容,并构建包含新信息的新单选按钮。看起来很简单,根本不需要提交表格。