[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Select, input, onchange
Guest
Данный код работает, выбираем из select значение, и в input появляется соответствующее ему значение. Все работает, вот только, когда в input появляется значение, значение select пустеет. Как сделать, чтобы поле select оставляло свое значение??????????
<table  border="1" width="400" CELLSPACING="0">
<tr>
<td
width="200">Выбираем значение</td>
<td
width="200">Выводит результат</td>
</tr>
<tr>
<td>
<form
id="frm" method="post" enctype='multipart/form-data' >
<div
id='cont'><select name="kati" onchange="document.getElementById('frm').submit()" >
<?php

for ($i=0;$i<=2; $i++)
{$s=$i;
echo "<option value='" . $i . "'>" . $i . "</option>\r\n";}
echo "</select><BR><BR>";
echo ' </form>';
?>
</td>
<?php

if(isset($_POST['kati']))
{
$t=$_POST['kati'];
if ($t==1)
{$c=24;}
if ($t==2)
{$c=36;}
}

?>
<td>
<input
type='text' name='hhgh' value='<?php echo $c; ?>'>
</td>
</tr>
</table>






Спустя 24 минуты, 52 секунды (21.10.2011 - 14:00) Michael написал(а):
Тебе надо в цикле где ты формируешь тего у selecta одному из <option> (выбранному) добавить атрибут selected

Спустя 5 минут, 52 секунды (21.10.2011 - 14:06) tanya12345 написал(а):
не меняет ситуацию.подскажите как можно решить данный вопрос????????

Спустя 1 минута, 5 секунд (21.10.2011 - 14:07) Michael написал(а):
код который не меняет ситуацию в студию

Спустя 1 час, 35 минут, 6 секунд (21.10.2011 - 15:42) tanya12345 написал(а):
<table  border="1" width="400" CELLSPACING="0">
<tr>
<td
width="200">Выбираем значение</td>
<td
width="200">Выводит результат</td>
</tr>
<tr>
<td>
<form
id="frm" method="post" enctype='multipart/form-data' >
<div
id='cont'><select name="kati" onchange="document.getElementById('frm').submit()" >
<?php

for ($i=0;$i<=2; $i++)
{$s=$i;
echo "<option value='" . $i . "' selected>" . $i . "</option>\r\n";}
echo "</select><BR><BR>";
echo ' </form>';
?>
</td>
<?php

if(isset($_POST['kati']))
{
$t=$_POST['kati'];
if ($t==1)
{$c=24;}
if ($t==2)
{$c=36;}
}

?>
<td>
<input
type='text' name='hhgh' value='<?php echo $c; ?>'>
</td>
</tr>
</table>


Как поставить selected именно выбранному элементу?

Спустя 6 минут, 26 секунд (21.10.2011 - 15:49) Winston написал(а):
А если как-то так строку переписать ?
<div id='cont'><select name="kati" onchange="this.options[this.selectedIndex].selected; document.getElementById('frm').submit()">

Спустя 2 минуты, 27 секунд (21.10.2011 - 15:51) Michael написал(а):
Какой смысл печатать selected во все <option>? Нужно только в "текущий", т.е в тот у кого $i == $_POST['kati']

Спустя 8 минут, 10 секунд (21.10.2011 - 15:59) tanya12345 написал(а):
Michael,Winston,как это осуществить??????

Спустя 4 часа, 15 минут, 40 секунд (21.10.2011 - 20:15) tanya12345 написал(а):
Ставлю $i == $_POST['kati'], но все равно не работает. В чем ошибка?

<html>
<head>
<title>

Сколько лет кошке по человеческим меркам</title>
<style
type="text/css">
SELECT {
width: 100px; /* Ширина списка в пикселах */
}
</style>
</head>
<body>
<center><h2>
Сколько лет кошке по человеческим меркам</h2></center>
<table
border="1" width="400" CELLSPACING="0">
<tr>
<td
width="200">Выбираем значение</td>
<td
width="200">Выводит значение</td>
</tr>
<tr>
<td>
<form
id="frm" method="post" enctype='multipart/form-data' >
<div
id='cont'><BR><center><select name="kati" onchange=" document.getElementById('frm').submit()" >
<?php

for ($i=0;$i<=2; $i++)
{$s=$i;
echo "<option value='" . $i . "' >" . $i . "</option>\r\n";}
if ($i == $_POST['kati'])
echo "<option value='" . $i . "' selected>" . $i . "</option>\r\n";
echo "</select></center>";
echo ' </form>';
?>
</td>
<?php

if(isset($_POST['kati']))
{

$t=$_POST['kati'];
if ($t==1)
{$c=24;}
if ($t==2)
{$c=36;}
}

?>
<td>
<center><input
type='text' name='hhgh' value='<?php echo $c; ?>'> </center>
</td>
</tr>
</table>
</body></html>


Спустя 1 час, 42 минуты, 13 секунд (21.10.2011 - 21:57) Winston написал(а):
Держи. Так ?
Свернутый текст
<html>
<
head>
<
title>
Сколько лет кошке по человеческим меркам</title>
<
style type="text/css">
SELECT {
width: 100px; /* Ширина списка в пикселах */
}
</style>
</
head>
<
body>
<
center><h2>Сколько лет кошке по человеческим меркам</h2></center>
<
table border="1" width="400" CELLSPACING="0">
<
tr>
<
td width="200">Выбираем значение</td>
<
td width="200">Выводит значение</td>
</
tr>
<
tr>
<
td>
<
form id="frm" method="post" enctype='multipart/form-data' >
<
div id='cont'><BR><center>
<
select name="kati" onchange=" document.getElementById('frm').submit()" >
<?php
for($i = 0; $i <= 2; $i++)
{
echo "<option value='" . $i . "' ".((isset($_POST['kati']) && $i == $_POST['kati']) ? 'selected' : '').">" . $i . "</option>\r\n";
}
?>
</select></center>
</
form>
</
td>
<?php
if(isset($_POST['kati']))
{
$t = $_POST['kati'];
$c = ($t != 0 && $t == 1) ? 24 : 36;
}
?>
<td>
<
center><input type='text' name='hhgh' value='<?php echo isset($c) ? $c : ''; ?>'> </center>
</
td>
</
tr>
</
table>
</
body></html>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.