Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.01.2017, 16:37
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

Один блок скрыть, другой отобразить.
Здравствуйте. Имеется такой код.
Код:
<meta charset="UTF-8">
 <script type="text/javascript" src="js/jquery-1.5.1.min.js "></script>  
<script>  
   $(document).ready(function() {
 
        $('#kvar div').css('display','none');         
 
        $("#view_type").change(function(){                      
            $('#kvar div').css('display','none');  
        
            id = $('#view_type option:selected').val();    
            $('#'+id).show();                                 
        });
 
    });
    </script>
 
    <div id="kvar">
    <div id="28">
    <select name='type[]' id="view_type">
        <option value='249'>Продам</option>
        <option value='250'>Сдам</option>
        <option value='251'>Куплю</option>
        <option value='255'>Сниму</option>
    </select>
    <select name='room[]'  >
        <option value=''>Кол-во комнат</option>
        <option value='1'>1 комната</option>
        <option value='2'>2 комнаты</option>
        <option value='3'>3 комнаты</option>
        <option value='4'>4 комнаты</option>
        <option value='5'>5 комнат</option>
        <option value='6'>6 комнат</option>
        <option value='7'>7 комнат</option>
        <option value='8'>8 комнат</option>
        <option value='9'>9 комнат</option>
        <option value='10'>Студия</option>
    </select>
 
    <select name='view[]'  >
        <option value=''>Вид объекта</option>
        <option value='1'>Новостройка</option>
        <option value='2'>Вторичка</option>
    </select>
        <br/>
            <br/>
Площадь: 
        <input  type="range" name='kvm[]' min="0" max="300" step="10" value="10" /> 
        <output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">мВІ</b>
Этаж:
        <input  type="range" style="margin-left:27px;" name='flen[]' min="1" max="100" step="1" value="1" /> 
        <output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">мВІ</b>
 
    <select name='type_house[]' >
        <option value=''>Тип дома</option>
        <option value='1'>Панельный</option>
        <option value='2'>Кирпичный</option>
        <option value='3'>Блочный</option>
        <option value='4'>Монолитный</option>
        <option value='5'>Деревянный</option>
    </select>
    </div>
    </div>
 
<div id="kvar">
    <div id="255">
    <select name='type[]' id="view_type">
        <option value='249' >Продам</option>
        <option value='250'>Сдам</option>
        <option value='251'>Куплю</option>
        <option value='252'>Сниму</option>
    </select>
    </div>
</div>
Подскажите пожалуйста, как реализовать, если клик произошел по option value="255", тогда блок первый должен скрываться, а второй отобразиться <div id="255"> За ранее благодарю.
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2017, 16:47
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

У меня в данный момент ничего не отображается после клика по value="255"
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2017, 09:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Salvat, начнем с того, что у тебя ИД на странице не уникален...
Ответить с цитированием
  #4 (permalink)  
Старый 07.01.2017, 14:04
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

ksa,
Я изменил
<div id="kvar">

	<div id="8">
	<select name='type[]' id="view_type">
		<option value='249'>Продам</option>
		<option value='250'>Сдам</option>
		<option value='251'>Куплю</option>
		<option value='252'>Сниму</option>
	</select>
	<select name='room[]' >
		<option value=''>Кол-во комнат</option>
		<option value='1'>1 комната</option>
		<option value='2'>2 комнаты</option>
		<option value='3'>3 комнаты</option>
		<option value='4'>4 комнаты</option>
		<option value='5'>5 комнат</option>
		<option value='6'>6 комнат</option>
		<option value='7'>7 комнат</option>
		<option value='8'>8 комнат</option>
		<option value='9'>9 комнат</option>
		<option value='10'>Студия</option>
	</select>

	<select name='view[]' >
		<option value=''>Вид объекта</option>
		<option value='1'>Новостройка</option>
		<option value='2'>Вторичка</option>
	</select>
		<br/>
			<br/>
Площадь: 
		<input  type="range" name='kvm[]' min="0" max="300" step="10" value="10" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
Этаж:
		<input  type="range" style="margin-left:27px;" name='flen[]' min="1" max="100" step="1" value="1" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>

	<select name='type_house[]' >
		<option value=''>Тип дома</option>
		<option value='1'>Панельный</option>
		<option value='2'>Кирпичный</option>
		<option value='3'>Блочный</option>
		<option value='4'>Монолитный</option>
		<option value='5'>Деревянный</option>
	</select>
	</div>
</div>

<div id="kvar">
	<div id="249">
	<select name='type[]' id="view_type">
		<option value='249' >Продам</option>
		<option value='250'>Сдам</option>
		<option value='251'>Куплю</option>
		<option value='252'>Сниму</option>
	</select>
	<select name='room[]' >
		<option value=''>Кол-во комнат</option>
		<option value='1'>1 комната</option>
		<option value='2'>2 комнаты</option>
		<option value='3'>3 комнаты</option>
		<option value='4'>4 комнаты</option>
		<option value='5'>5 комнат</option>
		<option value='6'>6 комнат</option>
		<option value='7'>7 комнат</option>
		<option value='8'>8 комнат</option>
		<option value='9'>9 комнат</option>
		<option value='10'>Студия</option>
	</select>

	<select name='view[]' >
		<option value=''>Вид объекта</option>
		<option value='1'>Новостройка</option>
		<option value='2'>Вторичка</option>
	</select>
		<br/>
		<br/>
Площадь: 
		<input  type="range" name='kvm[]' min="0" max="300" step="10" value="10" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
Этаж:
		<input  type="range" style="margin-left:27px;" name='flen[]' min="1" max="100" step="1" value="1" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
	<select name='type_house[]' >
		<option value=''>Тип дома</option>
		<option value='1'>Панельный</option>
		<option value='2'>Кирпичный</option>
		<option value='3'>Блочный</option>
		<option value='4'>Монолитный</option>
		<option value='5'>Деревянный</option>
	</select>
		</div>
		</div>
<div id="kvar">
	<div id="250">
	<select name='type[]'  id="view_type">
		<option value='249'>Продам</option>
		<option value='250' >Сдам</option>
		<option value='251'>Куплю</option>
		<option value='252'>Сниму</option>
	</select>
	<select name="term[]">
		<option value=''>Срок аренды</option>
		<option value='1'>На длительный срок</option>
		<option value='2'>Посуточно</option>
	</select>
	<select name='room[]' >
		<option value=''>Кол-во комнат</option>
		<option value='1'>1 комната</option>
		<option value='2'>2 комнаты</option>
		<option value='3'>3 комнаты</option>
		<option value='4'>4 комнаты</option>
		<option value='5'>5 комнат</option>
		<option value='6'>6 комнат</option>
		<option value='7'>7 комнат</option>
		<option value='8'>8 комнат</option>
		<option value='9'>9 комнат</option>
		<option value='10'>Студия</option>
		</select>
		<br/>
			<br/>
Площадь: 
		<input  type="range" name='kvm[]' min="0" max="300" step="10" value="10" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
Этаж:
		<input  type="range" style="margin-left:27px;" name='flen[]' min="1" max="100" step="1" value="1" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
	<select name='type_house[]' >
		<option value=''>Тип дома</option>
		<option value='1'>Панельный</option>
		<option value='2'>Кирпичный</option>
		<option value='3'>Блочный</option>
		<option value='4'>Монолитный</option>
		<option value='5'>Деревянный</option>
	</select>
	</div>
</div>

<div id="kvar">
	<div id="251">
	<select name='type[]'  id="view_type">
		<option value='249' >Продам</option>
		<option value='250'>Сдам</option>
		<option value='251' selected='selected'>Куплю</option>
		<option value='252'>Сниму</option>
	</select>
	<select name='room[]' >
		<option value=''>Кол-во комнат</option>
		<option value='1'>1 комната</option>
		<option value='2'>2 комнаты</option>
		<option value='3'>3 комнаты</option>
		<option value='4'>4 комнаты</option>
		<option value='5'>5 комнат</option>
		<option value='6'>6 комнат</option>
		<option value='7'>7 комнат</option>
		<option value='8'>8 комнат</option>
		<option value='9'>9 комнат</option>
		<option value='10'>Студия</option>
	</select>
	<br/>
		<br/>
	</div>
</div>

При клике option value="8" открывается div id="kvar" с <div id="249"> При клике же по <option value='250'> скрипт не срабатывает и не открывает блок с id="250". Будьте добры, укажите на ошибку.
Ответить с цитированием
  #5 (permalink)  
Старый 07.01.2017, 17:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Нельзя на странице указывать одинаковые идентификаторы элементам, в противном случае скрипт будет находить только первый из них. Вам же об этом, уже сказали, но вы упорно указываете id="kvar" четырем элементам.
Ответить с цитированием
  #6 (permalink)  
Старый 07.01.2017, 18:08
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

laimas, как тогда быть, прописывать их каждый id="kvar1", id="kvar2" ? А если у меня их очень много и это только часть всего кода?
Ответить с цитированием
  #7 (permalink)  
Старый 07.01.2017, 18:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Salvat
как тогда быть, прописывать их каждый id="kvar1", id="kvar2" ? А если у меня их очень много и это только часть всего кода?
А они так необходимы? К тому же по условию - выбор в списке должен открыть блок в котором есть номер равный выбранной опции.
Ответить с цитированием
  #8 (permalink)  
Старый 07.01.2017, 18:16
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

Сообщение от laimas Посмотреть сообщение
А они так необходимы? К тому же по условию - выбор в списке должен открыть блок в котором есть номер равный выбранной опции.
Да, необходимы. Допустим, клик по 250 открывает блок под ID 250, под id 8 должен блок скрыться. При клике по 251 открывается блок 251, а 250 и другие должны быть скрыты.
Ответить с цитированием
  #9 (permalink)  
Старый 07.01.2017, 18:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Salvat
Да, необходимы. Допустим, клик по 250 открывает блок под ID 250, под id 8 должен блок скрыться.
И какое отношение идентификатор kvar имеет к идентификатору 250, если у вас такая верстка:

<div id="kvar">
<div id="250">
...?

Я могу вообще не указывать никаких id блокам, и что у меня там в опциях указано будет ровно наплевать, и тем не менее смогу спокойно управлять ими посредством списка.

Значения опций списка чисто для сервера, а блоки которыми нужно управлять помещу в один родительский блок, которому единственному укажу идентификатор для доступа к нему. Главное что нужно соблюдать при выводе страницы, так это равенство опций списка и блоков связанных с ними, а также их последовательность в родительском блоке - согласно последовательности связанных с ними опций в списке.

Опции в списке это набор элементов, то есть имеющих индекс от 0 до ... Вложенные блоки в родительском элементе тоже набор, тоже имеющий индексы от 0 до ... Дальше рассказывать как можно получать нужный блок в зависимости от выбранной опции?
Ответить с цитированием
  #10 (permalink)  
Старый 07.01.2017, 18:47
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

laimas,
Если я правильно Вас понял, тогда получается так?
<div id="kvar">

	<div id="8">
	<select name='type[]' id="view_type">
		<option value="" selected="selected">Тип объявления</option>
		<option value='249'>Продам</option>
		<option value='250'>Сдам</option>
		<option value='251'>Куплю</option>
		<option value='252'>Сниму</option>
	</select>
	<select name='room[]' >
		<option value=''>Кол-во комнат</option>
		<option value='1'>1 комната</option>
		<option value='2'>2 комнаты</option>
		<option value='3'>3 комнаты</option>
		<option value='4'>4 комнаты</option>
		<option value='5'>5 комнат</option>
		<option value='6'>6 комнат</option>
		<option value='7'>7 комнат</option>
		<option value='8'>8 комнат</option>
		<option value='9'>9 комнат</option>
		<option value='10'>Студия</option>
	</select>

	<select name='view[]' >
		<option value=''>Вид объекта</option>
		<option value='1'>Новостройка</option>
		<option value='2'>Вторичка</option>
	</select>
		<br/>
			<br/>
Площадь: 
		<input  type="range" name='kvm[]' min="0" max="300" step="10" value="10" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
Этаж:
		<input  type="range" style="margin-left:27px;" name='flen[]' min="1" max="100" step="1" value="1" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>

	<select name='type_house[]' >
		<option value=''>Тип дома</option>
		<option value='1'>Панельный</option>
		<option value='2'>Кирпичный</option>
		<option value='3'>Блочный</option>
		<option value='4'>Монолитный</option>
		<option value='5'>Деревянный</option>
	</select>


	<div id="249">
	<select name='type[]' id="view_type">
		<option value='249' selected="selected">Продам</option>
		<option value='250'>Сдам</option>
		<option value='251'>Куплю</option>
		<option value='252'>Сниму</option>
	</select>
	<select name='room[]' >
		<option value=''>Кол-во комнат</option>
		<option value='1'>1 комната</option>
		<option value='2'>2 комнаты</option>
		<option value='3'>3 комнаты</option>
		<option value='4'>4 комнаты</option>
		<option value='5'>5 комнат</option>
		<option value='6'>6 комнат</option>
		<option value='7'>7 комнат</option>
		<option value='8'>8 комнат</option>
		<option value='9'>9 комнат</option>
		<option value='10'>Студия</option>
	</select>

	<select name='view[]' >
		<option value=''>Вид объекта</option>
		<option value='1'>Новостройка</option>
		<option value='2'>Вторичка</option>
	</select>
		<br/>
		<br/>
Площадь: 
		<input  type="range" name='kvm[]' min="0" max="300" step="10" value="10" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
Этаж:
		<input  type="range" style="margin-left:27px;" name='flen[]' min="1" max="100" step="1" value="1" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
	<select name='type_house[]' >
		<option value=''>Тип дома</option>
		<option value='1'>Панельный</option>
		<option value='2'>Кирпичный</option>
		<option value='3'>Блочный</option>
		<option value='4'>Монолитный</option>
		<option value='5'>Деревянный</option>
	</select>
		</div>

	<div id="250">
	<select name='type[]'  id="view_type">
		<option value='249'>Продам</option>
		<option value='250' selected='selected'>Сдам</option>
		<option value='251'>Куплю</option>
		<option value='252'>Сниму</option>
	</select>
	<select name="term[]">
		<option value=''>Срок аренды</option>
		<option value='1'>На длительный срок</option>
		<option value='2'>Посуточно</option>
	</select>
	<select name='room[]' >
		<option value=''>Кол-во комнат</option>
		<option value='1'>1 комната</option>
		<option value='2'>2 комнаты</option>
		<option value='3'>3 комнаты</option>
		<option value='4'>4 комнаты</option>
		<option value='5'>5 комнат</option>
		<option value='6'>6 комнат</option>
		<option value='7'>7 комнат</option>
		<option value='8'>8 комнат</option>
		<option value='9'>9 комнат</option>
		<option value='10'>Студия</option>
		</select>
		<br/>
			<br/>
Площадь: 
		<input  type="range" name='kvm[]' min="0" max="300" step="10" value="10" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
Этаж:
		<input  type="range" style="margin-left:27px;" name='flen[]' min="1" max="100" step="1" value="1" /> 
		<output for="jim">1</output> <b style="margin-left:850px;font-size:14px;">м²</b>
	<select name='type_house[]' >
		<option value=''>Тип дома</option>
		<option value='1'>Панельный</option>
		<option value='2'>Кирпичный</option>
		<option value='3'>Блочный</option>
		<option value='4'>Монолитный</option>
		<option value='5'>Деревянный</option>
	</select>
	</div>

	<div id="251">
	<select name='type[]'  id="view_type">
		<option value='249' >Продам</option>
		<option value='250'>Сдам</option>
		<option value='251' selected='selected'>Куплю</option>
		<option value='252'>Сниму</option>
	</select>
	<select name='room[]' >
		<option value=''>Кол-во комнат</option>
		<option value='1'>1 комната</option>
		<option value='2'>2 комнаты</option>
		<option value='3'>3 комнаты</option>
		<option value='4'>4 комнаты</option>
		<option value='5'>5 комнат</option>
		<option value='6'>6 комнат</option>
		<option value='7'>7 комнат</option>
		<option value='8'>8 комнат</option>
		<option value='9'>9 комнат</option>
		<option value='10'>Студия</option>
	</select>
	<br/>
		<br/>
	</div>

	<div id="252">
	<select name='type[]'  id="view_type">
		<option value='249'>Продам</option>
		<option value='250'>Сдам</option>
		<option value='251'>Куплю</option>
		<option value='252' selected="selected">Сниму</option>
	</select>
	<select name="term[]">
		<option value=''>Срок аренды</option>
		<option value='1'>На длительный срок</option>
		<option value='2'>Посуточно</option>
	</select>
	<select name='room[]' >
		<option value=''>Кол-во комнат</option>
		<option value='1'>1 комната</option>
		<option value='2'>2 комнаты</option>
		<option value='3'>3 комнаты</option>
		<option value='4'>4 комнаты</option>
		<option value='5'>5 комнат</option>
		<option value='6'>6 комнат</option>
		<option value='7'>7 комнат</option>
		<option value='8'>8 комнат</option>
		<option value='9'>9 комнат</option>
		<option value='10'>Студия</option>
	</select>
	<br/>
		<br/>
	</div>
	</div>	</div>

Но так не работает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как приклике скрыть один <div> и открыть другой <div> SpiritDark Элементы интерфейса 7 22.07.2017 21:42
как скрыть блок div по ключевому слову Sacred13 Элементы интерфейса 6 06.08.2013 19:13
Если один уже открыт и при нажатии на ссылку два первый блок скрывался и открывался ybiza Элементы интерфейса 3 16.12.2010 22:24
Как сделать: если один инпут заполнен, то в другой вводить нельзя? Fenec Events/DOM/Window 4 12.11.2010 19:32
не получается вложить один эффект в другой svip Библиотеки/Тулкиты/Фреймворки 1 30.03.2008 11:07