|
|
|
| Здравствуйте!
<select name="type" id="Category" onchange="selectCategory('Category')">
<option value='1'<?php if($_POST['type'] == '1') echo "selected"; ?>>1</option>
<option value='2'<?php if($_POST['type'] == '2') echo "selected"; ?>>2</option>
<option value='3'<?php if($_POST['type'] == '3') echo "selected"; ?>>3</option>
</select>
|
при выборе открывается спрятанный див. (<div id="Category_2" style="display:none;"></div>)
ниже приведенный код не работает (тм где php без php - пашет ):
<script>
function selectCategory(name)
{
<? if (isset($_POST['type'])){?>
var cat = document.getElementById(<? echo($_POST['type'])?>).value;
<? }else{ ?>
var cat = document.getElementById(name).value;
<? }?>
if(cat == 2 ) {
document.getElementById(name+'_3').style.display = "none";
document.getElementById(name+'_2').style.display = "";
}
if( cat == 3 ) {
document.getElementById(name+'_2').style.display = "none";
document.getElementById(name+'_3').style.display = "";
}
if( cat == 1 ) {
document.getElementById(name+'_1').style.display = "";
document.getElementById(name+'_2').style.display = "none";
document.getElementById(name+'_3').style.display = "none";
}
}
</script>
|
| |
|
|
|
|
|
|
|
для: vadimka
(15.07.2010 в 11:31)
| | У Вас $_POST['type'] равен 1, 2 или 3.
Поэтому в строке
var cat = document.getElementById(<? echo($_POST['type'])?>).value;
|
PHP Вам вернёт например
var cat = document.getElementById(1).value;
|
Поскольку у Вас вероятно нету элемента с ID = 1, возникает ошибка. | |
|
|
|
|
|
|
|
для: bishake
(15.07.2010 в 11:53)
| |
var cat = document.getElementById(name).value;
|
да я тут напортачил... это ведь значение (value)
не пойму может использовать window.onload ? | |
|
|
|
|
|
|
|
для: vadimka
(15.07.2010 в 11:31)
| | Будьте проще:
<select name="type" id="Category" onchange="selectCategory('Category', this.value*1)">
<option value='1'<?php if($_POST['type'] == '1') echo "selected"; ?>>1</option>
<option value='2'<?php if($_POST['type'] == '2') echo "selected"; ?>>2</option>
<option value='3'<?php if($_POST['type'] == '3') echo "selected"; ?>>3</option>
</select>
|
<script>
function selectCategory(name, value)
{
for (var i = 1; i<=3; i++) {
if(i == value) document.getElementById(name+'_'+value).style.display = "block";
else document.getElementById(name+'_'+value).style.display = "none";
}
</script>
|
При загрузке страницы всегда хоть одна опция спсика всегда будет выделена. Поэтому бессмыслено делать что-то типа вашего <? if (isset($_POST['type'])){?> . Вы можете просто добавить в список опцию со значением '0', которая будет означать отсутствие выбора. | |
|
|
|
|
|
|
|
для: bishake
(15.07.2010 в 14:09)
| | не работает... (ни как) | |
|
|
|
|
|
|
|
для: vadimka
(15.07.2010 в 15:29)
| | Что именно не работает? $_POST['type'] выводится?
Включите консоль ошибок JavaScript, посмотрите что не так. | |
|
|
|