|
|
|
| Есть меню select
<select name="currency" class="i">
<option value="rub" selected>rub
<option value="eur">euro
<option value="usd">usd
</select>
|
В нем пользователь выбирает валюту, в которой отображать объявления.
И есть поле для указания промежутка цены, в который оно должно попадать.
от <input type="text" name="price_from"> до <input type="text" name="price_to">
И рядом должна стоять валюта, которая берется из меню select.
Я это делаю функцией
<script language="javascript">
<!--
function currency()
{
var cur = document.searchform.currency.value;
if(cur == "rub") cur = "руб.";
if(cur == "eur") cur = "€"
if(cur == "usd") cur = "$";
document.write(cur);
}
//-->
</script>
|
Теперь вопрос. Как мне сделать, чтобы когда пользователь меняет валюту в меню select она так же менялась рядом с полем цены? | |
|
|
|
|
|
|
|
для: Atom
(23.08.2005 в 13:03)
| | простите, offtop: как давно появился символ &euro? он везде отображается? | |
|
|
|
|
|
|
|
для: P@Sol
(23.08.2005 в 13:43)
| | По сабжу - думаю, можно по onChange отрезать последний символ в текстовой строке и добавлять нужный. Только как, не знаю=) | |
|
|
|
|
|
|
|
для: Atom
(23.08.2005 в 13:03)
| | Сделайте так:
<select name="currency" class="i" onChange="showSelected(this)">
Теперь функция javascript:
function showSelected(selected_value){
var my_index = selected_value.selectedIndex;
var index_value= selected_value.options[my_index].value;
document.forms.searchform.price_from.value=index_value;
}
Всё. | |
|
|
|
|
|
|
|
для: codexomega
(23.08.2005 в 17:40)
| | Дело в том, что символ валюты должен стоять рядом с полем формы, а не в нем | |
|
|
|
|
|
|
|
для: Atom
(23.08.2005 в 18:43)
| | Нет проблем.
Создайте еще один input text для символа и уберите бордюры.
Вот так:
<input type="text" name="symbol" style="border:none " value="my_symbol"> | |
|
|
|
|
|
|
|
для: codexomega
(23.08.2005 в 19:18)
| | Спасибо! все работает.
И еще вопрос.
У меня там была перекодировка -
if(cur == "rub") cur = "руб.";
if(cur == "eur") cur = "€"
if(cur == "usd") cur = "$";
|
Я ее внедрил, но когда я выбираю euro, отображается не символ евро, а надпись &euro. Почему так? | |
|
|
|
|
|
|
|
для: Atom
(23.08.2005 в 20:25)
| | Потому что символа евро нет на клавиатуре. равно как, например, буквы кси. Вам надо не input дополнительный. а div, еще лучше span; в него и подставлять значок валюты - все escape-последовательности обработаются правильно. Только не забудьте точку с запятой - иначе ИЕ не поймет. | |
|
|
|
|
|
|
|
для: Киналь
(23.08.2005 в 22:03)
| | Со span и div согласен. Но как вы будете туда вставлять текст с одной только JavaScript.
Лучше всего добавить в страницу элементы того же PHP. Тогда можете делать всё что угодно.
<span><?php echo $symbol; ?></span>
Таким образом можно использовать и картинки и значки HTML типа € | |
|
|
|
|
|
|
|
для: Киналь
(23.08.2005 в 22:03)
| | >Потому что символа евро нет на клавиатуре. равно как,
>например, буквы кси.
почему Кси нет? у меня есть! :) | |
|
|
|
|
|
|
|
для: Atom
(23.08.2005 в 20:25)
| | Дело в том что содержимое input text понимается как строка String.
А формат в этом случае не учитывается.
Единственное, что можно сделать, это заменить значок HTML € тем же значком, изменив шрифт но это надо экспериментировать с WORD, Я в этих делах не мастер. Пишите просто euro. И просто и понятно для всех. | |
|
|
|
|
|
|
|
для: Atom
(23.08.2005 в 20:25)
| | &euro - виден до ie 6? | |
|
|
|
|
|
|
|
для: P@Sol
(05.09.2005 в 16:07)
| | Да, этот значок виден начиная с версии 4.
И еще.
Кроме значка &euro, можно использовать и такой € .
Они идентичны. | |
|
|
|
|
|
|
|
для: codexomega
(05.09.2005 в 16:21)
| | странно, вроде евро появилось в 2002 году, а ie 4 в 1998 | |
|
|
|
|
|
|
|
для: P@Sol
(05.09.2005 в 16:58)
| | Да, но Microsoft потом выпустил патчи и апдэйты для Windows. | |
|
|
|