Стоимость работы 500 рублей, оплата в WMR.
Есть два скрипта (примеры ниже) оба делают одно и то же, но по-разному. Необходимо их "скрестить", взяв нужные функции.
Первый скрипт:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
var clone;
function cloneRow(){
var rows=document.getElementById('mytab').getElementsByTagName('tr');
var index=rows.length;
clone=rows[index-1].cloneNode(true);
var inputs=clone.getElementsByTagName('input'), inp, i=0 ;
while(inp=inputs[i++]){
inp.name=inp.name.replace(/\d/g,'')+(index+1);
}
}
function addRow(){
var tbo=document.getElementById('mytab').getElementsByTagName('tbody')[0];
tbo.appendChild(clone);
cloneRow();
}
onload=cloneRow;
</script>
</head>
<body>
<form>
<p><input type="button" value="Add a new row" onclick="addRow()"></p>
<table border="1" id="mytab">
<tr>
<th>Field 1</th>
<th>Field 2</th>
<th>Field 3</th>
</tr>
<tr>
<td><input type="text" size="10" name="field1" value="" /></td>
<td><input type="text" size="10" name="field2" value="" /></td>
<td><input type="text" size="10" name="field3" value="" /></td>
</tr>
</table>
</form>
</body>
</html>
Второй скрипт:
<HTML>
<HEAD>
<TITLE> Add/Remove dynamic rows in HTML table </TITLE>
<SCRIPT language="javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
cell2.innerHTML = rowCount + 1;
var cell3 = row.insertCell(2);
var element2 = document.createElement("input");
element2.type = "text";
cell3.appendChild(element2);
}
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
table.deleteRow(i);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
</SCRIPT>
</HEAD>
<BODY>
<INPUT type="button" value="Add Row" onclick="addRow('dataTable')" />
<INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" />
<table id="dataTable" border="1">
<tr>
<TD><INPUT type="checkbox" name="chk"/></TD>
<TD> 0 </TD>
<TD> <INPUT type="text" /> </TD>
</tr>
</TABLE>
</BODY></HTML>
Необходимо доработать первый скрипт и добавить к нему функционал второго.
1. Сейчас первый скрипт обрабатывает только поля "input", но не обрабатывает поля "select". Необходимо, чтобы скрипт клонировал все возможные типы полей. Именно клонировал, чтобы в случае добавления каких-то новых полей в таблицу не было необходимости переписывать javascript.
2. Сейчас первый скрипт изменяет имена полей input на другие, необходимо, чтобы имена полей добавлялись такие же, как у родительского элемента.
3. Добавить функцию удаления отмеченной флажком строки как во втором скрипте. Первый флажок - служебный и будет использоваться только javacript'ом для удаления "лишних" строк.
4. Счётчик строк (как во втором скрипте) должен быть внутри одного из полей "input" и начинаться с нуля. Соответственно изменяться по-порядку в зависимости от добавления/удаления строк.
Сделать всё это нужно как можно быстрее.
Пишите в личку, после подтверждения заказ будет забронирован за вами.
Преимущество тем, кто уже выполнял мои заказы.