Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Передать переменую
юрьич  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 163
Пользователь №: 35076
На форуме: 4 года, 6 месяцев, 21 день
Карма:




Здравствуйте. Пытаюсь сделать сортировку для автокаталога.Которая будет содержать несколько полей.
Выбор авто,выбор модели и тд.Сделал так.В файле model.php написал ф-цию
public function getAuto_Car(){
$auto= array();//здесь результат запроса в базу:title и id
$html = '<select name="mark" style="width:100%">';
$html .= '<option value="all">All</option>';
if ($auto){
foreach($auto as $autos){
$auto = htmlspecialchars(icms_ucfirst($autos['title']));
$aut = $autos['id'];
$s = "paramS";
$html .= sprintf("<option id='%s' onclick='stor_set(%s);' value='%s' >%s</option>", $aut, $aut, $auto, $auto);
}
}


$html .= '</select>';
echo'<script>
function stor_set(id){
$("#search_auto option").removeClass("selected");
$("select option#"+id).addClass("selected");
};
</script>'
;

return $html;
}

Это первое поле.Теперь мне нужно сделать запрос в базу для второго поля и параметром передать id из
опшион,т.е то что у меня параметром в stor_set(id);Подскажите как можно это дело провернуть?
Пытаюсь аяксом, но что не выходит
            echo "
<script type='text/javascript'>

function stor(id) {
$.ajax({
type:'POST',
url:'/modules/mod_search_auto/module.php',
data:{auto_id:id},
success:function(data){
alert(data);
};
});
}
</script>
"
;
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
redreem  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 4284
Пользователь №: 29002
На форуме: 5 лет, 7 месяцев, 28 дней
Карма: 147




щас местные экстрасенсы освободятся, погодь немного.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
юрьич  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 163
Пользователь №: 35076
На форуме: 4 года, 6 месяцев, 21 день
Карма:




А что вызывает трудности?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 891
Пользователь №: 37872
На форуме: 3 года, 8 месяцев, 3 дня
Карма: 29




А зачем Вы JavaScript генерируете на PHP?
По делу

//это
data:{auto_id:id},
//должно быть так
data:{'auto_id':id},

Только я не понял - откуда Вы её вызываете *(функцию stor(id) )?
Я бы сделал по другому - сначала выбор значений (из select - ов), засунул все в массив, затем одним запросом отправил в PHP через AJAX и полученый результат от PHP вывел пользователю.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
юрьич  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 163
Пользователь №: 35076
На форуме: 4 года, 6 месяцев, 21 день
Карма:




Перенёс в шаблон,сделал так.

<select name="mark"   style="width:100%">
<option
value="all">All</option>
{foreach key=tid item=item from=$auto}
<option class="loc" value="{$item.id}" >{$item.title}</option>
{/foreach}
</select>


<script>
$(function() {
$('select[name="mark"]').change(function() {
var auto_id = this.value;
$.post('/modules/mod_search_auto/ajax.php', {'auto_id':auto_id }, function(data){
//$('div#ses').html(data);
//alert(data)


});
})
})
</
script>


Вроде заработала наполовину.
alert(data) // выводит страницу
alert(auto_id) // выводит id


Но вот с сервера не могу передать $auto_id, пока не въехал как.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 891
Пользователь №: 37872
На форуме: 3 года, 8 месяцев, 3 дня
Карма: 29




Цитата
Но вот с сервера не могу передать $auto_id, пока не въехал как.

А зачем его обратно передавать? Ведь он у Вас уже есть в JavaScript.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
юрьич  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 163
Пользователь №: 35076
На форуме: 4 года, 6 месяцев, 21 день
Карма:




Мне нужно эту переменную использовать в запросе к базе.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 891
Пользователь №: 37872
На форуме: 3 года, 8 месяцев, 3 дня
Карма: 29




Если очень нужно, то можно так например

echo "var auto_id=".$auto_id;

Но я все таки не совсем понимаю, что Вы хотите сделать, обрисуйте хотя бы логику?


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
юрьич  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 163
Пользователь №: 35076
На форуме: 4 года, 6 месяцев, 21 день
Карма:




Я в шаблоне вытягиваю из опшен id с помощью jquery. Теперь мне надо передать его на сервер, где подставлю его в запрос и получу новые данные, которые снова передам в шаблон, в другой селект.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 891
Пользователь №: 37872
На форуме: 3 года, 8 месяцев, 3 дня
Карма: 29




Т.е. Вы хотите сделать,так - выбрал из первого select например VAZ,на страницу вывелись все VAZ, во втором выбрал 2109, вывелись все 2109, в третьем 2005 год, вывелись все 2005 года выпуска. Так?


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 891
Пользователь №: 37872
На форуме: 3 года, 8 месяцев, 3 дня
Карма: 29




Я делал так, показывал первый селект со всеми значениями, после выбора отправлял запрос на сервер, получал массив для второго селекта затем на JavaScript формировал второй селект, после выбора отправлял запрос на сервер, получал массив,формировал следующий селект и так далее.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 891
Пользователь №: 37872
На форуме: 3 года, 8 месяцев, 3 дня
Карма: 29




примерно так

var play_file_url_1= 'start_bluray_playback, start_dvd_playback, start_file_playback, start_playlist_playback, launch_media_url'.split(', ');
var play_file_url_2 = 'BlueRAY, DVD, Файл, Плейлист, Авто Запуск'.split(', ');
var start +='<select id="second" size="1" name="command">';
var end += '</select>';
for (var i = 0; i < play_file_url_1.length; i++)
{
str += '<option value="'+ play_file_url_1[i] +'">' + play_file_url_2[i] + '</option>';
}
var insert_html=start + str + end;
document.getElementById('second').innerHTML = insert_html;


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
юрьич  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 163
Пользователь №: 35076
На форуме: 4 года, 6 месяцев, 21 день
Карма:




В вашем примере оба массива сформированы , как я вижу.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 891
Пользователь №: 37872
На форуме: 3 года, 8 месяцев, 3 дня
Карма: 29




ну так можно же передать такую строку

echo 'start_bluray_playback, start_dvd_playback, start_file_playback, start_playlist_playback, launch_media_url||BlueRAY, DVD, Файл, Плейлист, Авто Запуск';

в


.done(function( msg )
{
здесь поделить split('||');
}

еще можно использовать json тогда будут Вам массивы.
Это же просто пример формирования select на JS


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
юрьич  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 163
Пользователь №: 35076
На форуме: 4 года, 6 месяцев, 21 день
Карма:




Или я не понимаю, или мы о разном говорим.На данный момент имею.
1.На сервере формирую запрос к базе. -> array1
2.Передаю его в смарти шаблон.
3.Там перебираю и получаю селект с названиями.
4.При клике на опшион выдёргиваю id текущего названия
5.Передаю на сервер что бы подставить в другой запрос и получаю -> array2
И снова п.2


PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса