|
|
|
| Как присвоить значение селекта переменной php? | |
|
|
|
|
|
|
|
для: olejek
(30.01.2008 в 13:03)
| |
<form action="" method="post">
<select name="mysel">
<option value="1"></option>
<option value="2"></option>
<option value="3"></option>
</select>
</form>
<?php
$v = isset($_POST['mysel']) ? $_POST['mysel'] : "";
?>
|
| |
|
|
|
|
|
|
|
для: sim5
(30.01.2008 в 14:26)
| | Извините, я, наверное, неправильно вопрос задал.
Не значение, а текст селекта ( не знаю, как это называется)
В общем, не value, а то что между <option> </option> | |
|
|
|
|
|
|
|
для: olejek
(30.01.2008 в 14:42)
| | Это не передается непосредственно из формы. А зачем? Если вы формируете список, то вы должны знать текст опшенов, а по принятому значению это можно определить. Ну а если вы этого не знаете, то нужно написать небольшой JS сценарий, либо непосредственно в событии onchange списка прописать присвоение текста выбранного опшена скрытому полю формы. Вот его на сервере и получите. Но к чему такие сложности... | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|
|
|
|
|
для: olejek
(30.01.2008 в 17:06)
| | Ни че не понял, а при чем тут тогда то что между <option> </option>? | |
|
|
|
|
|
|
|
для: 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 или текст). | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|
|
|
|
|
для: sim5
(31.01.2008 в 12:08)
| | Переменной $display_label нужно присвоить текст этого selected option. А как это сделать, я не знаю, используя this.options[selectedIndex].text | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|
|
|
|
|
для: sim5
(31.01.2008 в 13:50)
| | Спасибо большое, sim5! (Вот Вы меня, наконец-то, поняли)
Может, это уже наглость, но Вы не могли бы написать ссылку на хороший мануал об "этом":
document.getElementById('as').innerHTML = this.options[selectedIndex].text,
а то стыдно такое не знать | |
|
|
|
|
|
|
|
для: olejek
(31.01.2008 в 14:47)
| | :)) Боюсь отдельного мануала именно по этому нет. В сети очень много электронных учебников по JS, DOM. Конкретно ссылок дать не могу (может кто другой назовет). А я пользуюсь книгами "в твердой упаковке" :) | |
|
|
|
|
|
|
|
для: sim5
(31.01.2008 в 16:56)
| | В любом случае, спасибо за советы! | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|