我首先在第一个选择菜单中选择一个选项,尝试在选择菜单中动态设置选项。
示例:用户在一个选择菜单中选择公司。在第二个选择菜单中,设置了属于所选公司的位置。
这是我的观点
<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获取任何数据。
答案 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']);
}
}