Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добавить условие в JS
 
 автор: Kostya   (19.06.2010 в 10:34)   письмо автору
 
 

В яве не силён, хотя вопрос не сложный.
Принцип работы: В зависимости от выбранного в селекте значения показывается дополнительная часть информации.
Проблема: Когда в селекте выбирается значение "1" или "2", то всё нормально, подгружается либо первый див либо второй, а вот когда в селекте выбираем третье значение, то ничего не выводит, и это не удивительно :)
А надо чтобы при третьем выборе выводился второй блок див (id="block_2"). Конечно можно было бы и в селекте в третьем значении написать value="2", но тогда у меня нарушиться целостность БД, в ней надо отмечать что это именно "Товарищество".

Вот и думаю как бы добавить в JS код который бы определял, что если выбрано значение "3", то изменить его на значение "2". (?)

function Switch(id)
{
   document.getElementById('block_1').style.display = 'none';
   document.getElementById('block_2').style.display = 'none';
   document.getElementById('block_'+id.value).style.display = 'block';
}


<select name="value1" onchange="Switch(this)">
  <option value="1">Частное лицо</option>
  <option value="2">Организация</option>
  <option value="3">Товарищество</option>
</select>

<div id="block_1" style="display:none">
  Частники
</div>

<div id="block_2" style="display:none">
  Организация
</div>

  Ответить  
 
 автор: sim5   (19.06.2010 в 10:39)   письмо автору
 
   для: Kostya   (19.06.2010 в 10:34)
 

А если от обратного - Организация и Товарищество это одно и тоже?

  Ответить  
 
 автор: Kostya   (19.06.2010 в 10:59)   письмо автору
 
   для: sim5   (19.06.2010 в 10:39)
 

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

  Ответить  
 
 автор: sim5   (19.06.2010 в 11:06)   письмо автору
 
   для: Kostya   (19.06.2010 в 10:59)
 

Это вообще разные вещи, и логически по представлению в базе, и по структуе орагнизации, потому сложно понять, почуму два разных объекта должны отображаться одним элементом.
Может быть сперва как следует о структуре базы подумать?

  Ответить  
 
 автор: Kostya   (19.06.2010 в 16:05)   письмо автору
 
   для: sim5   (19.06.2010 в 11:06)
 

Говорите вы всё правильно, честно сказать я даже несколько удивлён что по столь не значительному коду вам удалось это увидеть. Дело в том, что я и наша команда делаем новый проект, только начали. Проект сложный и то каким он будет примерно видит только наш менеджер, мы же его до конца понять не можем, поэтому и приходиться делать по кусочкам. Сейчас схема такая, как только она вылезет на экран, сразу будет понятно что делать дальше а что переделать. :/

  Ответить  
 
 автор: Kostya   (19.06.2010 в 11:02)   письмо автору
 
   для: sim5   (19.06.2010 в 10:39)
 

Блин, у природы новый закон видать... Сначало сидел думал как сделать, день потерял. Стоило написать этот вопрос на форуме как ответ нашелся почти сам :)

Проблему решил таким методом:
function Switch(id)
{
   var num = (id.value==3)? 2 : id.value;
   document.getElementById('block_1').style.display = 'none';
   document.getElementById('block_2').style.display = 'none';
   document.getElementById('block_'+num).style.display = 'block';
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования