Я пытаюсь заполнить поле выбора на основе предыдущего значения поля выбора в Laravel 4. Вот что у меня есть на данный момент:
My JS:
var url = document.location.hostname + '/cream/public/list-contacts';
var contacts;
$.ajax({
async: false,
type: 'GET',
url: url,
dataType: 'json',
success : function(data) { contacts = data; }
});
$('#account_id').change(function() {
alert(url);
label = "<label class='control-label'>Contacts</label>";
select = $("<select name='contact_id[]' id='contact_id'>");
console.log(contacts);
for(var i in contacts) {
alert(contacts[i]['account_id']);
if(contacts[i]['account_id'] == $(this).val()) {
select.append('<option value="' + contacts[i]['id'] + '">' + contacts[i]['name'] + '</option>');
}
}
$('.contacts').html(select).prepend(label);
});
Объявление маршрута моего списка контактов:
Route::get('list-contacts', 'ContactListController@contacts');
Мой метод contacts () в моем ContactListController:
public function contacts()
{
return Contact::select('contacts.id', 'contacts.account_id', DB::raw('concat(contacts.first_name," ",contacts.last_name) AS name'))->get()->toArray();
}
Форма на мой взгляд:
{{ Form::open(array('action' => 'DelegatesController@store', 'class' => 'view-only pull-left form-inline')) }}
{{ Form::label('account_id', 'Account', array('class' => 'control-label')) }}
{{ Form::select('account_id', $accounts) }}
<div class="contacts"></div>
{{ Form::label('delegate_status_id', 'Status', array('class' => 'control-label')) }}
{{ Form::select('delegate_status_id', $delegate_statuses) }}
{{ Form::label('price', 'Price', array('class' => 'control-label')) }}
{{ Form::text('price', '', array('class' => 'input-small')) }}
{{ Form::hidden('event_id', $event->id) }}
{{ Form::submit('Add Delegate', array('class' => 'btn btn-success')) }}
{{ Form::close() }}
ИЗМЕНИТЬ: я изменил свой код выше. Когда я посещаю / list-contacts, он получает правильные данные, которые мне нужны, он просто не назначает эти данные переменной контактов в моем запросе AJAX в моем JS? Любая помощь будет оценена.
Ошибка: это ошибка, которая отображается в моем журнале консоли для переменной контактов:
файл: "/Applications/MAMP/htdocs/cream/vendor/laravel/framework/src/Illuminate/Routing/Controllers/Controller.php" строка: 290 сообщение: "" тип: "Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException"