Вывод случайных элементов из массива в таблицу
Добрый день.
Существуют 2 массива. Первый с названием организаций, второй с операцией. <script> var arr = ['АвтоМир', 'Авто-Ойл', 'Автоспутник', 'Автотест']; var arr1 = ['Плановое продление ЭЦП', 'Помощь с отчетом', 'Переустановка']; </script> Скрипт для случайной выборки элементов. <script> document.write(arr[Math.round(Math.random()*(arr.length-1))]); </script> Я смог сделать вывод элементов в таблицу путем копирования ячеек и вставки в них скрипта.
<table>
<tr>
<td>
<script>
document.write(arr[Math.round(Math.random()*(arr.length-1))]);
</script>
</td>
<td>
<script>
document.write(arr1[Math.round(Math.random()*(arr1.length-1))]);
</script>
</td>
</tr>
</table>
Но так как таблица должна быть большая, примерно 200 строк, то этот способ очень громоздкий и ужасный. Вопрос, можно ли сделать нечто подобное(создание таблицы и вывод случайных элементов в нее) путем нажатия одной кнопки, например
<script>
onclick = function(){document.getElementById ('ttd').innerHTML = arr[Math.round(Math.random()*(arr.length-1))];}
</script>
|
наверное, стоит разделить случайную выборку и построение таблицы?..
не очень понял задачу, но есть нужно некий массив "встряхнуть" чтобы он в случайном порядке перепутался, то вот способ из учебника, а потом этот "перетрАхнутый" массив вывести в таблицу построчно обычными методами джаваскрипт. |
Цитата:
Как вариант...
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
function test() {
var a=[];
a[0] = ['АвтоМир', 'Авто-Ойл', 'Автоспутник', 'Автотест'];
a[1] = ['Плановое продление ЭЦП', 'Помощь с отчетом', 'Переустановка'];
var n=10;
var l=[a[0].length,a[1].length];
var ot=document.getElementById('test');
var or,oc,k;
for (var i=0; i<n; i++) {
or=ot.insertRow(-1);
for (var j=0; j<2; j++) {
oc=or.insertCell(j);
k=Math.random()*(l[j]-1);
k=Math.round(k);
k=a[j][k];
oc.innerHTML=k;
};
};
};
</script>
</head>
<body>
<table id='test' border='1'>
</table>
<button onclick='test();'>Go</button>
</body>
</html>
|
Всем спасибо, буду пробовать.
|
все получилось так как надо, только вот как сделать так, чтобы таблица не рисовалась вниз при каждом нажатии на кнопку. Хотелось бы, чтобы новые результаты генерировались в таблице определенного размера, например, 2 на 50(2 колонки, 50 строк). Т.е. при нажатии на кнопку изменялось только содержимое таблицы (случайным образом).
|
Цитата:
|
Криками шэфа на тему необходимости данной таблицы=)
|
Цитата:
|
Ну да, очень смешно
|
Коллега имел ввиду, что здесь не принято забесплатно выполнять работу за других.
А вот решить конкретную проблему в коде - пожалуйста. Задавайте вопрос, что и где не получается. |
Существующий вариант всех устроил, изменять больше ничего не надо. Спасибо всем за помощь.
|
| Часовой пояс GMT +3, время: 04:04. |