присвоение переменной математического знака
Можно ли присвоить переменной математический знак и чтобы он был не 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, время: 11:30. |