27.02.2015, 12:31
|
Интересующийся
|
|
Регистрация: 20.10.2014
Сообщений: 14
|
|
Не показывает выделенные
Опят другая проблема. Есть страница редактирование.
Селект #country должен вернут значение из бд.
$( document ).ready(function() {
$("#city").select2();
var $ajax = $("#country");
$('#country').change(function(){
var country = $('#country').val();
$('#country_id').val(country);
var formatProduct = function(data){
return data.city;
}
$("#city").select2({
ajax: {
url: "../../ajaxdata",
dataType: 'json',
data: function (params) {
return {
country_id: country, // search term
term: params.term
};
},
processResults: function (data, params) {
return {
results: data.items,
};
},
cache: true,
},
templateResult: formatProduct,
templateSelection: formatProduct,
});
});
function formatRepo (repo) {
if (repo.loading) return repo.name;
var markup = repo.name;
return markup;
}
function formatRepoSelection (repo) {
return repo.name || repo.name;
}
$ajax.select2({
ajax: {
url: "../../ajaxdata",
dataType: 'json',
delay: 250,
data: function (params) {
return {
country: params.term,
page: params.page
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.items,
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true,
},
templateResult: formatRepo,
templateSelection: formatRepoSelection,
});
});
именно мешает templateSelection, если его убрать все заработает, только после выбора значение показывает пустое поля (только визуально).
Нужно чтобы он вернул и значение из бд и показывал выбраненные значение.
Как решить? Кто нибудь поможет или ткните куда нить.
Последний раз редактировалось Nelzz, 27.02.2015 в 12:35.
|
|
27.02.2015, 12:47
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Давайте начнем с этого:
var $ajax = $("#country"); - хорошо, объект кеширован, но тут же:
$('#country').change(function(){
var country = $('#country').val();
Как это понимать? И почему запрос $ajax.select2 требуется дважды, неужели нельзя изменением параметра запроса дать понять серверу что запрашивается?
|
|
27.02.2015, 13:16
|
Интересующийся
|
|
Регистрация: 20.10.2014
Сообщений: 14
|
|
Сообщение от laimas
|
Давайте начнем с этого:
var $ajax = $("#country"); - хорошо, объект кеширован, но тут же:
$('#country').change(function(){
var country = $('#country').val();
Как это понимать? И почему запрос $ajax.select2 требуется дважды, неужели нельзя изменением параметра запроса дать понять серверу что запрашивается?
|
Вся функция выбираешь страну и по нему город.
var country = $('#country').val();
$('#country_id').val(country);
При выборе повторно #country другую страну он туда же пишет две значение, первый и вторую, мне нужен только одно, по этому делаю на скрытом инпуте.
все не так просто как кажется )
Вес листинг https://gist.github.com/Asetss/e1700a070990d8a766cd
Последний раз редактировалось Nelzz, 27.02.2015 в 13:28.
|
|
27.02.2015, 13:33
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Если var $ajax = $("#country"), то тогда
$ajax.change(function(){
var country = this.value; //собственно этого и не надо, можно сразу подставить this.value в параметр запроса, без промежуточной country.
Что касается остального, то у вас вывод связанных списков, и это еще не повод на каждый из них писать отдельный запрос. Списки то ведь разные уже потому, что это разные сущности в базе, и на клиенте они должны тоже отличаться. А если они отличаются, значит и различны параметры запроса, значит и значение какого (или какой список) возвращается клиенту тоже известно.
Впрочем, если вы убеждены, что поступаете верно, то я не имею вопросов.
|
|
27.02.2015, 13:49
|
Интересующийся
|
|
Регистрация: 20.10.2014
Сообщений: 14
|
|
Сообщение от laimas
|
Если var $ajax = $("#country"), то тогда
$ajax.change(function(){
var country = this.value; //собственно этого и не надо, можно сразу подставить this.value в параметр запроса, без промежуточной country.
Что касается остального, то у вас вывод связанных списков, и это еще не повод на каждый из них писать отдельный запрос. Списки то ведь разные уже потому, что это разные сущности в базе, и на клиенте они должны тоже отличаться. А если они отличаются, значит и различны параметры запроса, значит и значение какого (или какой список) возвращается клиенту тоже известно.
Впрочем, если вы убеждены, что поступаете верно, то я не имею вопросов.
|
Это код не о чем не говорит.
Вес view редактирование
https://gist.github.com/Asetss/ba6a5e5e1ecbb3609c71 это фрейм ларавел
заметьте строку https://gist.github.com/Asetss/ba6a5...file1-php-L216
Country::getCountryArray($contact->cont_country) вернет массив
само значение $contact->cont_country
и на #сity тоже самое только там поиска нету,по этому пашет.
|
|
28.02.2015, 06:58
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ну и на что выбор пал - git или все таки свое?
|
|
28.02.2015, 07:26
|
Интересующийся
|
|
Регистрация: 20.10.2014
Сообщений: 14
|
|
Сообщение от laimas
|
Ну и на что выбор пал - git или все таки свое?
|
Я пока даже не решил ничего. Не знаю что теперь делать
не большой такой косяк, бесит уже.
1. Просмотр
2. Редактирование
сам значение он выбирает.
В редактировании 1 селекте должен быть украина и все :]
Последний раз редактировалось Nelzz, 28.02.2015 в 07:37.
|
|
28.02.2015, 07:46
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Страна Украина
Город Донецк
это как отображение результата выбора по двум спискам?
|
|
28.02.2015, 08:06
|
Интересующийся
|
|
Регистрация: 20.10.2014
Сообщений: 14
|
|
Сообщение от laimas
|
Страна Украина
Город Донецк
это как отображение результата выбора по двум спискам?
|
Да, только в селекте
|
|
28.02.2015, 08:11
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
только в селекте
Это как понять? Наверное тогда каждый отображает свое, а ваш ответ можно трактовать как в одном.
Первый список (страна) также добавляется на страницу динамически или же он есть в наличии при открытии страницы (что логично, если некие обстоятельства не позволяют этого)?
|
|
|
|