Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема со сравнением строк 
V
    Опции темы
Elerond
Дата 2.3.2010, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 18.6.2007

Репутация: нет
Всего: 3



Доброго времени суток. 

Хочу сделать зависимые select на странице. php + javascript. Только с помощью php вроде сложновато без перезагрузки страницы

Собственно сама функция:

Код

<script>
  function selected_razdel() 
  { 
  x = document.getElementById("select_razdel");
  y = document.getElementById("select_pod_razdel");

if(x.value == "A")
{
y.length = 0;
el=document.createElement("OPTION");
y.options.add(el);
el.appendChild(document.createTextNode("Одиннадцатое"));
el.value="11";
el.selected = 'selected';

el=document.createElement("OPTION");
y.options.add(el);
el.appendChild(document.createTextNode("Двенадцатое"));
el.value="12";

}
} 
</script> 


Во втором select  пока смысла нет, просто для проверки.

Сам рабочий код:
Код

<?
$db_file_name = 'okved.dbf';        // имя базы данных
$db = dbase_open($db_file_name, 0); // открываем только для чтения
if ($db) {                          // если открыли
  echo 'Подключились <br /><br />';
  $record_numbers = dbase_numrecords($db); // количество записей
  // сделаем формы выбора
  echo '<select style="font-size:9" name="select_razdel" id="select_razdel" onChange="selected_razdel(this);">'."\n";
  echo '<option style="font-size:9" value="A">Cделайте выбор'."\n";
  for ($i = 1; $i <= $record_numbers; $i++) {
    $row = dbase_get_record_with_names($db, $i);
    if (preg_match("/^[A-Z] /", $row['KOD'])) {
      echo '<option style="font-size:9" valuе="'.preg_replace("/[^A-Z]/", "", $row['KOD']).'">'.$row['NAIM']."\n";
    }
  }
?>

</select>
<br><br><br><br>
<?
dbase_close($db);
} else {                          // если не открыли
  echo 'Не подключились <br />';
}
?>

<select name="select_pod_razdel" id="select_pod_razdel"> 
  <option value="0"> Сделайте выбор
</select> 


Специально отдельно сделал этот фрагмент (для проверки работоспособности):
Код

echo '<option style="font-size:9" value="A">Cделайте выбор'."\n";


Вообщем после выполнения вот что будет в html коде:
Код

<script>
  function selected_razdel() 
  { 
  x = document.getElementById("select_razdel");
  y = document.getElementById("select_pod_razdel");

if(x.value == "A")
{
y.length = 0;
el=document.createElement("OPTION");
y.options.add(el);
el.appendChild(document.createTextNode("Одиннадцатое"));
el.value="11";
el.selected = 'selected';

el=document.createElement("OPTION");
y.options.add(el);
el.appendChild(document.createTextNode("Двенадцатое"));
el.value="12";


}
  
} 
</script> 

Подключились <br /><br /><select style="font-size:9" name="select_razdel" id="select_razdel" onChange="selected_razdel(this);">

<option style="font-size:9" value="A">Cделайте выбор
<option style="font-size:9" valuе="A">РАЗДЕЛ А СЕЛЬСКОЕ ХОЗЯЙСТВО, ОХОТА И ЛЕСНОЕ ХОЗЯЙСТВО                                                                                                                                                                                                         
<option style="font-size:9" valuе="B">РАЗДЕЛ В РЫБОЛОВСТВО, РЫБОВОДСТВО                                                                                                                                                                                                                             
<option style="font-size:9" valuе="C">РАЗДЕЛ С ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ                                                                                                                                                                                                                           
<option style="font-size:9" valuе="D">РАЗДЕЛ D ОБРАБАТЫВАЮЩИЕ ПРОИЗВОДСТВА                                                                                                                                                                                                                          
<option style="font-size:9" valuе="E">РАЗДЕЛ Е ПРОИЗВОДСТВО И РАСПРЕДЕЛЕНИЕ ЭЛЕКТРОЭНЕРГИИ, ГАЗА И ВОДЫ                                                                                                                                                                                             
<option style="font-size:9" valuе="F">РАЗДЕЛ F СТРОИТЕЛЬСТВО                                                                                                                                                                                                                                        
<option style="font-size:9" valuе="G">РАЗДЕЛ G ОПТ.И РОЗНИЧ.ТОРГОВЛЯ;РЕМОНТ АВТОТРАНСП.СР.,МОТОЦИКЛ.,БЫТ.ИЗДЕЛИЙ                                                                                                                                                                                    
<option style="font-size:9" valuе="H">РАЗДЕЛ Н ГОСТИНИЦЫ И РЕСТОРАНЫ                                                                                                                                                                                                                                
<option style="font-size:9" valuе="I">РАЗДЕЛ I ТРАНСПОРТ И СВЯЗЬ                                                                                                                                                                                                                                    
<option style="font-size:9" valuе="J">РАЗДЕЛ J ФИНАНСОВАЯ ДЕЯТЕЛЬНОСТЬ                                                                                                                                                                                                                              
<option style="font-size:9" valuе="K">РАЗДЕЛ K ОПЕРАЦИИ С НЕДВИЖИМЫМ ИМУЩЕСТВОМ, АРЕНДА И ПРЕДОСТАВЛЕНИЕ УСЛУГ                                                                                                                                                                                      
<option style="font-size:9" valuе="L">РАЗДЕЛ L ГОС.УПРАВЛЕНИЕ И ОБЕСПЕЧ.,ВОЕННОЙ БЕЗОПАСНОСТИ; ОБЯЗАТ,СОЦ.ОБЕСПЕЧЕНИЕ                                                                                                                                                                               
<option style="font-size:9" valuе="M">РАЗДЕЛ M ОБРАЗОВАНИЕ                                                                                                                                                                                                                                          
<option style="font-size:9" valuе="N">РАЗДЕЛ N ЗДРАВООХРАНЕНИЕ И ПРЕДОСТАВЛЕНИЕ СОЦИАЛЬНЫХ УСЛУГ                                                                                                                                                                                                    
<option style="font-size:9" valuе="O">РАЗДЕЛ O ПРЕДОСТАВЛЕНИЕ ПРОЧИХ КОММУНАЛЬНЫХ, СОЦИАЛЬНЫХ И ПЕРСОНАЛЬНЫХ УСЛУГ                                                                                                                                                                                  
<option style="font-size:9" valuе="P">РАЗДЕЛ Р ПРЕДОСТАВЛЕНИЕ УСЛУГ ПО ВЕДЕНИЮ ДОМАШНЕГО ХОЗЯЙСТВА                                                                                                                                                                                                  

<option style="font-size:9" valuе="Q">РАЗДЕЛ Q ДЕЯТЕЛЬНОСТЬ ЭКСТЕРРИТОРИАЛЬНЫХ ОРГАНИЗАЦИЙ                                                                                                                                                                                                          

</select>
<br><br><br><br>

<select name="select_pod_razdel" id="select_pod_razdel"> 
  <option value="0"> Сделайте выбор
</select> 



Отсюда видно какие значения принимает value

Теперь собственно сама проблема: Если в первом select выбрать <option style="font-size:9" valuе="A">РАЗДЕЛ А СЕЛЬСКОЕ ХОЗЯЙСТВО, ОХОТА И ЛЕСНОЕ то во втором ни чего не измениться, а если <option style="font-size:9" value="A">Cделайте выбор  то второй селект измениться... не могу понять чем отличаются параметры "А" от "А"?
--------------------
Мой блог
PM MAIL WWW   Вверх
Elerond
Дата 2.3.2010, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 18.6.2007

Репутация: нет
Всего: 3



Думал сначала что проблема в базе данных откуда беру значения но нет

написал вот так:

Код

    if (preg_match("/^[A-Z] /", $row['KOD'])) {
      //echo '<option style="font-size:9" valuе="'.preg_replace("/[^A-Z]/", "", $row['KOD']).'">'.$row['NAIM']."\n";
      echo '<option style="font-size:9" valuе="A"> наименование'."\n";

    }



Все равно не сравнивает... 
--------------------
Мой блог
PM MAIL WWW   Вверх
Amphiluke
Дата 2.3.2010, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



Ну вы даете...  smile 
У вас во всех атрибутах value последняя буква набрана кириллицей...

Добавлено через 4 минуты и 28 секунд
Либо какая-то другая, не e, но какая-то точно не латиницей буква идет.
PM   Вверх
Elerond
Дата 2.3.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 18.6.2007

Репутация: нет
Всего: 3



Amphiluke,  smile  Спасибо ... Punto зло...

Добавлено через 1 минуту и 44 секунды
Кстати, а как заметили? Я что то разницы не вижу.... 

PS: Теперь все работает  smile 
--------------------
Мой блог
PM MAIL WWW   Вверх
Amphiluke
Дата 2.3.2010, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



Да не, точно, e русская.

Цитата

Кстати, а как заметили? Я что то разницы не вижу.... 

Надо иногда пользоваться валидатором

Это сообщение отредактировал(а) Amphiluke - 2.3.2010, 14:23
PM   Вверх
Elerond
Дата 2.3.2010, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 18.6.2007

Репутация: нет
Всего: 3



Amphiluke, e то действительно русская. Буду знать что надо не только "на глаз" ошибки искать.
--------------------
Мой блог
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1015 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.