Здравствуйте, есть два селекта. Оperator: HTML: <select name="operator" onchange="if (this.selectedIndex) this.form.submit()"> <option disabled selected>Выберите оператора...</option> <?php $null = 0; $select_operator_name = "Все операторы..."; $select_operator .= "<option value='".$null."'"; if($null == $_REQUEST['operator']) $select_operator .= " selected "; $select_operator .= ">".$select_operator_name."</option>"; if ($res = mysql_query("SELECT * FROM `operators` ORDER BY `surname` ")) { while ($row = mysql_fetch_assoc($res)) { $select_operator .= "<option value='".$row['id']."'"; if($row['id'] == $_REQUEST['operator']) $select_operator .= " selected "; $select_operator .= ">".$row['surname']." ".$row['name']."</option>"; //echo '<option value="'.$row['id'].'">'.$row['surname'].' '.$row['name'].'</option>'; } echo $select_operator; } ?> </select> Model: HTML: <select name="model" onchange="if (this.selectedIndex) this.form.submit()"> <option disabled>Выбирите модель...</option> <?php $null = 0; $select_model_name = "Все модели..."; $select_model .= "<option value='".$null."'"; if($null == $_REQUEST['model']) $select_model .= " selected "; $select_model .= ">".$select_model_name."</option>"; if ($res = mysql_query("SELECT * FROM `models` ORDER BY `surname` ")) { while ($row = mysql_fetch_assoc($res)) { $select_model .= "<option value='".$row['id']."'"; if($row['id'] == $_REQUEST['model']) $select_model .= " selected "; $select_model .= ">".$row['surname']." ".$row['name']."</option>"; //echo '<option value="'.$row['id'].'">'.$row['surname'].' '.$row['name'].'</option>'; } echo $select_model; } ?> </select> Необходимо чтобы когда select_operator.value != 0 тогда у select_model.value равного 0 было свойство selected. И наоборот, Необходимо чтобы когда select_model.value != 0 тогда у select_operator.value равного 0 было свойство selected. Заранее спасибо за любую помощь.
как я понял, применяя библиотеку JQuery достаточно на селекты поввесить событие onchange и в нем обробатывать : Код (Text): if ($("#id_select_1").val()==0) {$("#id_select_2").find("option[index='0']").attr("selected","selected");}
сделал следующие: 1. Скачал библиотеку JQuery 2. Залил ее в файл и прикрепил к странице: HTML: <head> <script type="text/javascript" src="../function/js/jquery.js"></script> </head> добавил функцию: HTML: <head> <script type="text/javascript"> function resetModel() { if ($("#operator").val()==0) {$("#model").find("option[index='0']").attr("selected","selected");} } </script> добавил в событие функцию resetModel(): HTML: <select name="operator" id="operator" onchange="if (this.selectedIndex) this.form.submit(); resetModel()"> <option disabled selected>Выберите оператора...</option> <?php $null = 0; $select_operator_name = "Все операторы..."; $select_operator .= "<option value='".$null."'"; if($null == $_REQUEST['operator']) $select_operator .= " selected "; else $select_operator .= ""; $select_operator .= ">".$select_operator_name."</option>"; if ($res = mysql_query("SELECT * FROM `operators` ORDER BY `surname` ")) { while ($row = mysql_fetch_assoc($res)) { $select_operator .= "<option value='".$row['id']."'"; if($row['id'] == $_REQUEST['operator']) $select_operator .= " selected "; else $select_operator .= ""; $select_operator .= ">".$row['surname']." ".$row['name']."</option>"; //echo '<option value="'.$row['id'].'">'.$row['surname'].' '.$row['name'].'</option>'; } echo $select_operator; } ?> </select> но не работает. Не совсем понял как Id элемента передавать.
разобрался. в Событии onChange поменял местами последовательность выполнения операций. HTML: <select name="operator" id="operator" onchange="resetModel(); if (this.selectedIndex) this.form.submit()">