Доброго дня всем! На странице есть объект <select> в котором лежат названия моделей автомобилей. Нужно при выборе модели тянуть из базы инфу по запчастям этой модели и отображать на странице. Т.е. на лицо динамическое обновление (работаю с Jquery). Всё что придумал: 1. написал ф-ю на java script Код (Text): function gate_(p,id,p1) { $.post(p,{id:id, p1:p1 },function (data){ $(id).html(data); }); } p – имя вызываемого php файла. Id – id обновляемого объекта (в моём случае это id таблицы) p1 – параметр передаваемые в php файл (в моём случае значение модели). 2. на <select> вешаю обработчик Код (Text): <select id="model" class="select" onchange="gate_('get_item_model.php', '#item', $(this).val() );" > 'get_item_model.php' – возвращает список запчастей в виде табличных строк(<tr><td>деталь1</tr>) На странице соответсвенно : Код (Text): <table id= "item"> </table> Коллеги, интересует ваше мнение на предмет рациональности данного алгоритма с точки зрения профессионального php программирования. Возможно существует более оптимальное решение.
да, согласен будет лучше. а какими способами можно избежать непосредственной привязки события "change" к <select>, если <select> строится динамически в асинхронном режиме. насколько знаю .live("change", function(){}) в IE не работает? благодарю!
нашел решение с .live("change",... есть функция .delegate(), возможно вы уже её знаете. планирую её использовать так: Код (Text): $('body').delegate("#model","change", function() { ... }); .delegate() это тоже самое что .live(), только лучше (отслеживает появление новых объектов и вешает на них обработчик). скорей всего работает во всех популярных броузерах.