Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Select, вырезание цифры 
V
    Опции темы
BuShaRt
Дата 20.7.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Код

<select size="1" name="room_cat" CLASS="input" onChange="calc()">
    <option value="One 1000">
        One 1000 руб/сутки
     </option>
</select>

Как мне из данного кода, при выборке определенной позиции, отослать в функцию calc, только цифру т.е. "1000"? 
PM MAIL   Вверх
Alik_Kirillovich
Дата 20.7.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 13.7.2007
Где: Казань

Репутация: 1
Всего: 2



Например, с помощью регулярных выражений:

Код

  function calc()
    {
    //selRoomCat - выпадающий список
    var selRoomCat = document.getElementById ("room_cat");
    //txtValue - его значение в текстовом виде
    var txtValue = selRoomCat.options [selRoomCat.selectedIndex].value;
    //reNumberInValue - регулярное выражение для поиска числа в строке
    var reNumberInValue = /[0-9]+/;
    //intValue - число из значения
    var intValue = txtValue.match (reSerchNumber)[0];
    
    alert (intValue);
    }

PM MAIL WWW   Вверх
BuShaRt
Дата 20.7.2007, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Код

 <INPUT TYPE="hidden" NAME="regex" VALUE="\b[0-9]+\b" SIZE=50>
                                <script>
                                    function calc(){
                                        var re = new RegExp(document.form.regex.value);
                                        var price = re.exec(document.form.room_cat.value);
                                     document.form.stoimost.value = price * document.form.number_of_rooms.value;
                                    }
                                </script>


вопрос решен smile

Добавлено через 53 секунды
Alik_Kirillovich, 
Спасибо, твой код тоже изучу, может он лучше будет ;)
PM MAIL   Вверх
Aliance
Дата 20.7.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



А почему нельзя просто приобразовать к числовому типу, при чем лучше на стороне сервера.
Например в php я бы сделал это так:
Код

$room_cat = intval($_POST['room_cat']);


Добавлено через 4 минуты и 49 секунд
Даже лучше это применить при генерации разметки вып. списка. Если он конечно генерируется...
PM MAIL WWW ICQ Skype   Вверх
BuShaRt
Дата 20.7.2007, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Aliance, Нельзя на стороне сервера т.к. задача сделать именно на JS т.е. без перезагрузки страницы, если бы на стороне сервера, я бы сам справился т.к. PHP знаю отлично  smile 
А вот JS явно хромает...

И вообще, это очень не корректно по моему, вырезать цифры такис способом %)

Это сообщение отредактировал(а) BuShaRt - 20.7.2007, 22:20
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.