Подскажите как реализовать скрытие / показ текстового поля при нажатии на дивы?
Здравствуйте. Подскажите пожалуйста, есть такие коды:
<?php foreach ($scanTabs as $value) { if ($value != '.' && $value != '..') { echo '<textarea name="content" class="mainContent" id="' . $value . '">' . file_get_contents('Tabs' . DIRECTORY_SEPARATOR . $value) . '</textarea>'; } } unset($value); ?> И <?php foreach ($scanTabs as $value) { if ($value != '.' && $value != '..') { echo '<div class="divTab" id="' . $value . '">' . $value . '</div>'; } } unset($value); ?> Текстовая форма скрыта в цсс фале через display: none. А как сделать так, чтобы при нажатии на див с именем и id = $value, то текстовая форма с таким же id показывалась? |
для начала ты ведь не хочешь действительно проставить один и тот же id двум элементам на странице - диву и текстарея ?
на jquery <div id="div_<?php echo $value ?>">click me</div> <textarea id="ta_<?php echo $value ?>"></textarea> var id = <?php echo $value ?> ;//здесь этот твой value,если скрипт в шаблоне нет проблем, если в отдельном js фале - думай как передать туда $('#div_'+id).click(function(){ $('#ta_'+id).css({display:'block'}); }) |
krasovsky, действительно, что-то я не подумал об этом - на счет одинаковых айди.
Но вопрос, как передать значение $value в JS? Дело в том, что значения $value разные, я могу туда добавить новых значений... |
krasovsky, даже если делаю значение var id = тому что есть в $value, код все равно, почему-то, неработает.
|
Вот, я сделал так: но не работает.
[JS]<script type="text/javascript"> <?php foreach ($scanTabs as $value) : ?> <?php if ($value != '.' && $value != '..') : ?> var id =<?php echo $value ?>; $('#div_'+id).click(function(){ $('#ta_'+id).css({display:'block'}); }) <?php endif; endforeach; ?> </script>[/JS] |
Мне словосочетание "не работает" ничего не говорит. Что у тебя не работает?
Во первых смотри в консоли - нет ли ошибки js кода. Во вторых смотри в консоли на вкладке html после того как страничка загрузилась - вывелся ли вообще твой <?php echo $value ?> Вот тебе пример даже. Как видишь без php - я преременную id определил в js'е. Все работает, тебе остается придумать как поределить id у себя. http://jsfiddle.net/pncy7mdt/1/ |
krasovsky, вот код страницы в месте где не работает, делаю все так же, но не работает почему-то.
<textarea name="content" class="mainContent" id="ta_javascript.ru">Центральный Javascript...</textarea> Вот кнопка: <div class="divTab" id="div_javascript.ru">javascript.ru</div> Вот код JS: <script> var id = 'javascript.ru'; $('#div_'+id).click(function(){ $('#ta_'+id).css({display:'block'}); }) </script> В шапку вставил: <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> Вот цсс код для скрытия текстового блока: textarea.mainContent { display: none; } Могу код страницы весь показать. |
Точка в селекторе? Смело. Я бы на такое не решился.
var id = 'javascript.ru'; |
krasovsky, не работает из-за точки в строчке javascript . этой? ru
Что не так-то, не пойму. |
Цитата:
А кроме шуток, сколько ты видишь тут точек? Я одну вижу, стало быть да, из за этой. А вообще не легче ли было просто убрать ее и попробовать чем писать этот, в который раз неуместный вопрос? Цитата:
|
Часовой пояс GMT +3, время: 03:59. |