Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   генерирование полей таблицы (https://javascript.ru/forum/dom-window/9535-generirovanie-polejj-tablicy.html)

sinh 22.05.2010 19:11

генерирование полей таблицы
 
Добрый день. Я совсем плохо знаю яваскрипт, можно сказать совсем не знаю. Стоит задача - в зависимости от выбора пункта из выпадающего списка заполнить таблицу, которая рядом на странице. Если выбирается другое значение с списке - то и значения меняются.

Я не знаю с чего начать. Каким образом это можно реализовать? Подскажите, пожалуйста.

Есть мысль что каждому элементу списка присваивается 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>

Каким образом изменить код, чтобы это заработало?

exec 22.05.2010 19:32

document.write не используйте, в данном случае он не нужен.

sinh 22.05.2010 20:28

я не совсем пойму о чем Вы говорите. каким образом можно не использовать рисование таблицы? она ведь должна перерисовываться, кроме того, этот код тоже не работает. скажите, пожаулйста, где тут ошибка закралась?

Kolyaj 22.05.2010 20:38

http://alljs.ru/2009/12/document-write/

sinh 22.05.2010 21:00

а каким образом таблица будет перерисовываться с другими значениями?

Kolyaj 22.05.2010 21:05

Цитата:

Если вы хотите вывести текст на страницу, то создайте в нужном месте элемент span, например, с заданным id и меняйте у него свойство innerHTML.
. .

sinh 22.05.2010 21:11

простите, сразу не понял, что это значит. сейчас буду пробовать. огромное спасибо!

sinh 22.05.2010 21:26

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

функция не работает(

Kolyaj 22.05.2010 21:35

http://javascript.ru/if

sinh 22.05.2010 21:40

<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 выборов.


Часовой пояс GMT +3, время: 05:38.