Laravel - 动态选择菜单

时间:2014-09-10 14:22:11

标签: jquery laravel-4

我首先在第一个选择菜单中选择一个选项,尝试在选择菜单中动态设置选项。

示例:用户在一个选择菜单中选择公司。在第二个选择菜单中,设置了属于所选公司的位置。

这是我的观点

            <div class="form-group">
                <select class="form-control admin-select" name="admin-select">
                    <option>- Select -</option>
                    <option value="1">Company 1</option>
                    <option value="2">Company 2</option>
                    <option value="3">Company 3</option>
                </select>
            </div>
            <div class="form-group">
                <select id="location" class="form-control" name="location">
                    <option>- Select -</option>
                </select>   
            </div>

jquery的:

$('.admin-select').change(function() {

    $.getJSON("/users/dropdown/"+$(this).val(), function(data) {

        var location = $('#location');
        location.empty();

        $.each(data, function(index, element) {
            location.append("<option value='"+ element.id +"'>" + element.name + "</option>");
        });

   });
});

UsersController:

public function dropdown()
{
    $input = Input::get('option');
    $company = Company::find($input);
    $locations = $company->locations();
    return Response::make($locations->get(['id','name']));
}

我认为问题是我需要设置一条到我的下拉功能的路线,但我不确定那条路线应该是什么样的。

我选择公司时会调用下拉功能,但我没有通过json获取任何数据。

1 个答案:

答案 0 :(得分:0)

如果这是id = $(this).val();

$.getJSON("/users/dropdown/", { id : $(this).val() }, function(data) {});

路线:

Route::get('users/dropdown/{id}', 'UserController@dropdown')

控制器:

class UserController extends BaseController {

    /**
     * Show the profile for the given user.
     */
     public function dropdown($id)
     {
         $company = Company::find($id); 
         $locations = $company->locations();
         return $locations->get(['id','name']);
     }
}