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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как присвоить значение селекта переменной php?

Сообщения:  [1-10]   [11-14] 

 
 автор: olejek   (31.01.2008 в 17:04)   письмо автору
 
   для: sim5   (31.01.2008 в 16:56)
 

В любом случае, спасибо за советы!

   
 
 автор: sim5   (31.01.2008 в 16:56)   письмо автору
 
   для: olejek   (31.01.2008 в 14:47)
 

:)) Боюсь отдельного мануала именно по этому нет. В сети очень много электронных учебников по JS, DOM. Конкретно ссылок дать не могу (может кто другой назовет). А я пользуюсь книгами "в твердой упаковке" :)

   
 
 автор: olejek   (31.01.2008 в 14:47)   письмо автору
 
   для: sim5   (31.01.2008 в 13:50)
 

Спасибо большое, sim5! (Вот Вы меня, наконец-то, поняли)
Может, это уже наглость, но Вы не могли бы написать ссылку на хороший мануал об "этом":
document.getElementById('as').innerHTML = this.options[selectedIndex].text,
а то стыдно такое не знать

   
 
 автор: sim5   (31.01.2008 в 13:50)   письмо автору
 
   для: olejek   (31.01.2008 в 12:20)
 

У вас этот элемент содержит установленное по умолчанию значение, но в РНР. Если вы хотите чтобы РНР-переменная $display_label получила это значение, то этого сделать нельзя, не отправив форму на сервер и там определить это. А вот поместить в элемент SPAN текст опшена можно, например, так:

<select onchange="document.getElementById('as').innerHTML = this.options[selectedIndex].text"> 
<option value="1">Set 1</option> 
<option value="2">Set 2</option> 
<option value="3">Set 3</option> 
</select>
<span id="as" class=sel_text>Тут текст установленный переменной $display_label</span>

   
 
 автор: Волки   (31.01.2008 в 13:33)   письмо автору
 
   для: olejek   (30.01.2008 в 13:03)
 

<form action="" method="post"> 
 <select name="mysel"> 
  <option>text 1</option> 
  <option>text 2</option> 
  <option>text 3</option> 
 </select> 
</form>

если <option> идет без value, то ПОСТОМ передасться текст внутри option-a

   
 
 автор: olejek   (31.01.2008 в 12:20)   письмо автору
 
   для: sim5   (31.01.2008 в 12:08)
 

Переменной $display_label нужно присвоить текст этого selected option. А как это сделать, я не знаю, используя this.options[selectedIndex].text

   
 
 автор: sim5   (31.01.2008 в 12:08)   письмо автору
 
   для: olejek   (31.01.2008 в 11:33)
 

Почему причем? Потому, что вы выше говорите о видимости <span class=sel_text><?=$display_label?></span> - а как это связано с опшенам ни слова. Но если вас интересует текст опшенов, то его можно узнать, обратившись к их свойству text, например:

<select onchange="alert(this.options[selectedIndex].text)">
<option value="1">Set 1</option>
<option value="2">Set 2</option>
<option value="3">Set 3</option>
</select>

   
 
 автор: olejek   (31.01.2008 в 11:33)   письмо автору
 
   для: sim5   (30.01.2008 в 18:22)
 

Ну как при чем?
Если после выполнения кода, селект примет такой вид:

<select name=id>  //там опечатка не fio, а id
   <option value=1>Петров
   <option value=2 selected>Сидоров
   <option value=3>Иванов
</select>

то что я не могу получить значение этого selected option? (В принципе, конечно, не имеет значение, что это будет - value или текст).

   
 
 автор: sim5   (30.01.2008 в 18:22)   письмо автору
 
   для: olejek   (30.01.2008 в 17:06)
 

Ни че не понял, а при чем тут тогда то что между <option> </option>?

   
 
 автор: olejek   (30.01.2008 в 17:06)   письмо автору
 
   для: sim5   (30.01.2008 в 16:48)
 

В общем, надо сделать следующее:
-если страница отображается на экране, то выводится селект (класс sel_text в этом случае не виден)
-если страница идет на печать, то нужно получить просто надпись, т.е $display_label (класс sel в этом случае не виден)
В нижеприведенном коде все работает, но он какой-то громоздкий, и мне кажется, можно сделать проще.
<span class=sel><select name=fio>
    <?        
            $post_var
=$_REQUEST['id'];
            while (
$qr mysql_fetch_array($query))
            {
            if (!
$first && !$post_var)
                {
                
$display_label=$qr['fio'];
                
$first=true;
                }
            if(
$qr['id']==$post_var)
                {
                
$chk="selected";
                
$display_label=$qr['fio'];
                }
            else
                
$chk="";
            echo 
"<option $chk value=$qr['id']>".$qr['fio'];
            }
    
?>
    </select></span>
    <span class=sel_text><?=$display_label?></span>

   

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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