Select, вырезание цифры

 
0
 
JavaScript
ava
BuShaRt | 20.07.2007, 17:08

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

Как мне из данного кода, при выборке определенной позиции, отослать в функцию calc, только цифру т.е. "1000"?
Comments (4)
ava
Alik_Kirillovich | 20.07.2007, 17:12 #
Например, с помощью регулярных выражений:


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);
}
ava
BuShaRt | 20.07.2007, 17:30 #

<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>


вопрос решен :)

added later:
Alik_Kirillovich,
Спасибо, твой код тоже изучу, может он лучше будет ;)
ava
Aliance | 20.07.2007, 18:30 #
А почему нельзя просто приобразовать к числовому типу, при чем лучше на стороне сервера.
Например в php я бы сделал это так:

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


added later:
Даже лучше это применить при генерации разметки вып. списка. Если он конечно генерируется...
ava
BuShaRt | 20.07.2007, 22:18 #
Aliance, Нельзя на стороне сервера т.к. задача сделать именно на JS т.е. без перезагрузки страницы, если бы на стороне сервера, я бы сам справился т.к. PHP знаю отлично smile
А вот JS явно хромает...

И вообще, это очень не корректно по моему, вырезать цифры такис способом %)
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit