присвоение переменной математического знака
Можно ли присвоить переменной математический знак и чтобы он был не string
Задача: При выборе select'а переменной присваивался соответствующий знак И чтобы в alert'е выводил ответ: если выбран + то 12 если - то 8 если * то 20 если / то 5
function proverka() {
a1 = document.form1.a1.value;
a2 = 10 + a1 + 2;
alert('результат - ' + a2);
<form name="form1">
<select name="a1">
<option value="+"> + </option>
<option value="-"> - </option>
<option value="*"> x </option>
<option value="/"> : </option>
</select>
<br><br>
<input type="button" onclick="proverka()" value="Проверить">
</form>
|
Цитата:
op = +; a2 = 10 op a1 op 2;получить правильный ответ - нельзя. Это вообще бред. Но можно записывать в строку, а строку интерпретировать как выражение. op = '+'; a1 = 5; expr = 10 + op + a1 + op + 2; alert(eval(expr)) |
<select onchange="myFunc(this.value);" …
function myFunc( val ) {
switch ( val ) {
case "+":
действия;
break;
case "-":
действия;
break;
// и т.д.
}
}
|
У меня похожий вопрос: необходимо динамически менять знаки < > в зависимости от выбранного в списке параметра.
Т.е. есть скрипт решения, он одинаковый для всего списка, однако, условие при котором этот скрипт выполняется разлиные, в одном случае j<0 а в другом j>0. Т.е. достаточно сменить знак сравнения для конкретного элемента в списке... (разветвление делать и писать один и тоже скрипт для расчета два раза не хочется) может можно как то присвоить переменной знак сравнения и потом использовать в выражении? Или как то по другому решить эту задачу, чтоб не писать два раза одни и теже расчеты? вопрос решен: создал отдельный массив, в котором разместил отрицательные и положительные единицы соответственно конкретному веществу, а потом просто умножаю j на соответствующий элемент массива непосредственно в выражении сравнения |
<script language="JavaScript">
function menu(){
var a = '<a href="Ссылка">Главная</a>';
var menu = document.getElementById('menu');
menu.innerHTML = a;
}
</script>
<div id="menu" onload="menu()"></div> Пчему не работает? Всё вроде правильно... |
z700i, как вариант...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
</style>
<script language="JavaScript">
function menu(){
var a = document.createElement('a')
a.href='#'
a.innerHTML='Главная'
var menu = document.getElementById('menu')
menu.appendChild(a)
}
</script>
</head>
<body onload="menu()">
<div id="menu"></div>
</body>
</html>
|
А твой вариант даже так не сработает...
<div id="menu" onload="alert(1)"></div> |
ksa, а js можно как нибудь так?
document.getElementById('menu').onload=myScript();
|
Цитата:
|
Но можно в сам div запихнуть script и тогда он исполнится в момент появления в dom.
Или моно тупо с момента загрузки отслеживать появление нужного элемента. Хотя всё равно непонятно зачем. |
| Часовой пояс GMT +3, время: 23:47. |