В моей базе данных есть два связанных поля. Второе поле зависит от значения, выбранного в первом. Отношения:
Функция, которую я использую в виде таблицы «conflictos_1»:
<!--Aquí el javascript para select dependientes--> <script type="text/javascript"> $(document).ready(function() { $("#conflictos1_id_sector_actividad").change(function() { var id_sub = $(this).val(); if(id_sub != '') { $.ajax ({ type: "POST", url: '<?php echo url_for('conflictos/subsector'); ?>'+ '?id=' + id_sub, cache: false, data: "id_sub="+ id_sub, success: function(data) { $("#conflictos1_id_subsector_actividad").html(data); // but it does not select the value of dropdown list. } }); } else { $("#conflictos1_id_subsector_actividad").html("<option value=''>-- No se ha seleccionado subsector --</option>"); } return false; }); }); </script>
Когда я добавляю новую запись, все работает нормально. Но когда я редактирую запись, зависит от выбора, не отображается «выбранное» значение. В режиме редактирования, когда я смотрю на поле «id_subsector_actividad», выбранное значение должно быть, например, <option value="37 " selected="selected">
: Это то, что я вижу в своей форме, когда я проверяю элемент созданный с помощью функции AJAX:
<select name="conflictos1[id_subsector_actividad]" id="conflictos1_id_subsector_actividad"> <option value="29 ">14.1 Meretrices</option> <option value="30 ">Preparación de alimentos y comedor</option> <option value="31 ">Seguridad</option> <option value="37 ">redes sanitarias</option> </select>
Это то, что я хочу видеть:
<select name="conflictos1[id_subsector_actividad]" id="conflictos1_id_subsector_actividad"> <option value="29 ">14.1 Meretrices</option> <option value="30 ">Preparación de alimentos y comedor</option> <option value="31 ">Seguridad</option> <option value="37 " selected="selected">redes sanitarias</option> </select>
Я использую эту функцию для фильтрации записей в таблице «Subsector_actividad_ta8» (я работаю с Symfony 1.4 и Doctrine):
public function executeSubsector() { $id_sub = $_POST['id_sub']; $this->subsec= Doctrine_Core::getTable('SubsectorActividadTa8') ->createQuery('a') ->where('a.id_sector = ?', $id_sub) ->execute(); }
Мой вопрос: что я должен изменить в функции AJAX, чтобы отобразить «выбранное» значение во втором поле, когда я редактирую существующую запись?