генерирование полей таблицы
Добрый день. Я совсем плохо знаю яваскрипт, можно сказать совсем не знаю. Стоит задача - в зависимости от выбора пункта из выпадающего списка заполнить таблицу, которая рядом на странице. Если выбирается другое значение с списке - то и значения меняются.
Я не знаю с чего начать. Каким образом это можно реализовать? Подскажите, пожалуйста. Есть мысль что каждому элементу списка присваивается id, после выбора пункта меню, нажимается кнопка и запускает функцию, которая проверяет значение id и сравнивает его, если совпадает, то присваиваются значения переменным, которые затем буду участвовать в рисовании таблицы. Что-то вроде этого: function showshedule() { if (document.getElementById("mySelectId")==1) { document.getElementById("one")='10.00'; document.getElementById("two")='10.15'; document.getElementById("three")='12.00'; } if (document.getElementById("mySelectId")==2) { document.getElementById("one")='10.20'; document.getElementById("two")='10.55'; document.getElementById("three")='12.20'; } document.write ( <table width="300px" border="1" cellspacing="0" cellpadding="4" > <tr align="center" bgcolor="#3366FF"> <td>1</td> <td>2</td> <td>3</td> </tr> <tr> <td id="one"></td> <td id="two"></td> <td id="three"></td> </tr> </table> ) } </tr> Каким образом изменить код, чтобы это заработало? |
document.write не используйте, в данном случае он не нужен.
|
я не совсем пойму о чем Вы говорите. каким образом можно не использовать рисование таблицы? она ведь должна перерисовываться, кроме того, этот код тоже не работает. скажите, пожаулйста, где тут ошибка закралась?
|
|
а каким образом таблица будет перерисовываться с другими значениями?
|
Цитата:
|
простите, сразу не понял, что это значит. сейчас буду пробовать. огромное спасибо!
|
<html> <head></head> <body> <select id="mySelectId" name="mySelect"> <option value="s">1</option> <option value="k">2</option> <option value="a">3</option> </select> <input type="button" onclick="run()" value="run"/> <table width="300px" border="1" cellspacing="0" cellpadding="4" id="table"> <tr> <td><span id="t"></span></td> <td><span id="b"></span></td> </tr> </table> <script type="text/javascript"> function run() { document.getElementById('t').innerHTML = 'adc'; document.getElementById('b').innerHTML = 'abc'; } </script> </body> </html> я не пойму где ошибка. подскажите, пожалуйста. в таком виде все работает, однако при попытке сравнения: if (document.getElementById("mySelectId")= 's') document.getElementById('t').innerHTML = '10.00' } функция не работает( |
|
<html> <head></head> <body> <select id="mySelectId" name="mySelect"> <option value="s">1</option> <option value="k">2</option> <option value="a">3</option> </select> <input type="button" onclick="run()" value="run"/> <table width="300px" border="1" cellspacing="0" cellpadding="4" id="table"> <tr> <td><span id="t"></span></td> <td><span id="b"></span></td> </tr> </table> <script type="text/javascript"> function run() { if (document.getElementById("mySelectId")= 's') document.getElementById('t').innerHTML = 'adc'; [else document.getElementById('b').innerHTML = 'abc';] } </script> </body> </html> мне кажется, что я как-то не так беру селектор списка, поэтому не работает проверка. может быть он как-то числами выбирается? тогда вообще шикарно бы case смотрелся. в списке будет около 100 выборов. |
function run() { if (document.getElementById("mySelectId").value== 's'){document.getElementById('t').innerHTML = 'adc';} else{document.getElementById('b').innerHTML = 'abc';} } |
sinh,
Где Вы видели такую кон-ю [else document.getElementById('b').innerHTML = 'abc';] ? |
if
Выполняет тот или иной блок кода в зависимости от того, верно ли условие Синтаксис if (condition) statement1 [else statement2] я, может, просто неправильно трактую. у меня очень мало опыта программирования, тем более на яваскрипт. |
JsLoveR,
спасибо большое, так заработало. подскажите, а case, никак нельзя использовать? |
sinh,
можно |
function run() { switch(document.getElementById("mySelectId").value) { case 's':{document.getElementById('t').innerHTML = 'adc';break} case 'k':{document.getElementById('b').innerHTML = 'abc';break} } } |
прочитал ман по свич, и понял. ну спасибо огромнейшее! просто очень помогли, с удовольствием буду заходить на этот форум :)
|
sinh,
:thanks: |
sinh, квадратные скобки вот тут:
if (condition) statement1 [else statement2] означают, что в этом выражении то что в квадратных скобках - может отсутствовать. Т.е. верно: if (condition) statement1 else statement2 И так же верно: if (condition) statement1 Это везде такие правила оформления грамматических конструкций. Как правило они вначале объясняются - поищи по чему занимаешся. |
спасибо за замечание.
в данном случае лучше использовать switch, у меня выборка почти 100 пунктов. замечательный сайт! большое спасибо за помощь:) |
Часовой пояс GMT +3, время: 16:29. |