Помогите перестроить скрипт!
Ниже приведенный скрипт выполняет функцию генератора комбинаций из 3-х полей textarea
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<style type='text/css'>
body {
margin: auto;
}
textarea {
height: 100px;
width: 30%;
margin: auto;
border: none;
background: #eee;
outline: none;
}
#rescount {
width: 8%;
height: 100px;
background: #eee;
display: inline-block;
position: fixed;
padding: 5px;
text-align: center;
font-size: 3em;
}
#rescount span {
font-size: 12px;
}
.generate {
width: 100%;
height: 30px;
border: none;
background: #eee;
outline: none;
}
table, td {
width: 100%;
}
td {
background:#c2ff9b;
}
</style>
<script type='text/javascript'>
function test(){
var cols=0;
var vrs=document.getElementById('gruz').value.replace(/\s+/g, 'SP').split(','); //записываю в массив слова разделяя их при этом запятой
document.getElementById('gruz').value=vrs;
var arr=[
document.getElementById('gruz').value.split(/\n/),
document.getElementById('gorod').value.split(/\n/),
document.getElementById('avto').value.split(/\n/)
];
var or=document.getElementById('result');
var rc=document.getElementById('rescount');
or.innerHTML='';
rc.innerHTML='';
for (var i=0; i<arr[0].length; i++) {
for (var j=0; j<arr[1].length; j++) {
for (var k=0; k<arr[2].length; k++) {
var rnd = Math.floor(Math.random() * vrs.length);
var str=arr[0][i].replace(/^\S+/,vrs[rnd].replace('SP', ' '))+' '+arr[1][j]+' '+arr[2][k]; //пробую менять первое слово на случайное из массива который ранее создавал
cols=cols+1;
or.innerHTML=or.innerHTML+'<td>'+str+'</td>';
};
};
};
rc.innerHTML=cols;
};
</script>
</head>
<body>
<textarea id="gruz">
Саня,Леха,Толик
Яша,Серый,Ваня</textarea>
<textarea id="gorod">
Любит
Не любит</textarea>
<textarea id="avto">
Олю
Надю
Иру</textarea>
<div id="rescount"></div>
<br/><input type="button" onclick='test();' class="generate" value="СГЕНЕРИРОВАТЬ"/>
<table><tbody id="result"></tbody></table>
</body>
</html>
С помощью местных гуру и великого гугла, мне удалось переделать в первом поле textarea смысл выполнения, а именно:
Теперь значения из первого поля с помощью запятой режутся в массив после чего случайным образом подставляются в комбинации, но если добавить еще одну строку в это поле, да еще и разделить ее запятыми то получу не совсем то что нужно. Скрипт будет пихать всех под ряд и Колю и Васю и Диму...
Да бы вы меня смогли понять, скрипт берет из всех полей количество строк, а так же их значение и комбинирует их!
Пример: в первом поле 3 значения во втором 2 и в третьем тоже 3, на выходе получим 18 комбинаций из этих слов.
Сейчас скрипт переделал, что бы из первого поля строки резало еще и на слова (так сказать варианты подстановки) то есть, не всю строку, а только случайное слово из этой строки которые поделены запятыми.
Все вроде бы окей, но теперь скрипт не выполняет первоначальную функцию, а именно нарезание на строки, он убирает переносы и записывает все это дело в одну строку. Еще и с реплейсерами я там намудрил...