Просмотр полной версии : генерирование полей таблицы
Добрый день. Я совсем плохо знаю яваскрипт, можно сказать совсем не знаю. Стоит задача - в зависимости от выбора пункта из выпадающего списка заполнить таблицу, которая рядом на странице. Если выбирается другое значение с списке - то и значения меняются.
Я не знаю с чего начать. Каким образом это можно реализовать? Подскажите, пожалуйста.
Есть мысль что каждому элементу списка присваивается 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 не используйте, в данном случае он не нужен.
я не совсем пойму о чем Вы говорите. каким образом можно не использовать рисование таблицы? она ведь должна перерисовываться, кроме того, этот код тоже не работает. скажите, пожаулйста, где тут ошибка закралась?
http://alljs.ru/2009/12/document-write/
а каким образом таблица будет перерисовываться с другими значениями?
Если вы хотите вывести текст на страницу, то создайте в нужном месте элемент span, например, с заданным id и меняйте у него свойство innerHTML.. .
простите, сразу не понял, что это значит. сейчас буду пробовать. огромное спасибо!
<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, никак нельзя использовать?
function run()
{
switch(document.getElementById("mySelectId").value)
{
case 's':{document.getElementById('t').innerHTML = 'adc';break}
case 'k':{document.getElementById('b').innerHTML = 'abc';break}
}
}
прочитал ман по свич, и понял. ну спасибо огромнейшее! просто очень помогли, с удовольствием буду заходить на этот форум :)
sinh, квадратные скобки вот тут:
if (condition)
statement1
[else
statement2]
означают, что в этом выражении то что в квадратных скобках - может отсутствовать.
Т.е. верно:
if (condition)
statement1
else
statement2
И так же верно:
if (condition)
statement1
Это везде такие правила оформления грамматических конструкций. Как правило они вначале объясняются - поищи по чему занимаешся.
спасибо за замечание.
в данном случае лучше использовать switch, у меня выборка почти 100 пунктов.
замечательный сайт! большое спасибо за помощь:)
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot