Ребята помоги разобраться с созданием редактируемой таблицы. Нужно создать таблицу с редактируемыми ячейками. По щелчку на ячейку открывалась форма редактирования в самой ячейке,для первого столбца получается, а как сделать для другого не знаю...
//эта функция добавляет элемент в список function addItem() { //читаем введенное в форму значение var v = $('item_value').value; //формируем строку с параметрами запроса var pars = $H({value:v}).toQueryString(); //выполняем запрос new Ajax.Request( "scripts/additem.php", {method:"post", parameters:pars, onSuccess:parseAddItemResponse} ); }
//эта функция вызывается если запрос на добавление нового //элемента в список был выполнен function parseAddItemResponse(transport) { var data = eval('(' + transport.responseText + ')'); //проверяем были ли ошибки if (data.error_mes == null) { //удаляем сообщение об ошибке (если оно осталось после //предыдущего вызова) var errMes = $('err_mes'); if (errMes != null) { Element.remove(errMes); } //удаляем строку "нет записей" (если она есть) var noItems = $('noItems'); if (noItems != null) { Element.remove(noItems); } //вставляем полученный результат в конец списка var list = $('list'); if (list == null) { var content = $('content'); var newItem = new Insertion.Bottom(content, "<ul id=\"list\"></ul>"); list = $('list'); } //вставляем новый элемент в конец списка new Insertion.Bottom(list, "<li id='listNum_" + (editors.length) + "'><div class='itemNum'>" + (editors.length + 1) + "</div>" + "<div class='itemValue' " + "onclick='closeOtherEditors(" + editors.length + ")' id='itemId_" + data.id + "'>" + data.value + "</div>" + "<a href='#' class='deleteLink' onclick='deleteItem(" + data.id + ")'><img src='css/images/delete.gif'" + "alt='Удалить' title='Удалить' /></a></li>"); //создаем редактор для нового элемента и добавляем его в массив editors.push(addEditor("itemId_" + data.id, data.id)); //подсвечиваем вставленный элемент var items = $$('#list li'); new Effect.Highlight(items.last(), {startcolor:"#FDFFB9", endcolor:"#FFFFFF", duration:2.0}); } else { //выводим сообщение об ошибке var form = $('add_item_form'); new Insertion.After(form, "<div id=\"err_mes\">" + data.error_mes + "</div>"); } }
//эта функция удаляет элемент списка function deleteItem(id) { var pars = $H({itemid:id}).toQueryString(); new Ajax.Request( "scripts/delete.php", {method:"post", parameters:pars, onSuccess:function(transport) { var data = eval('(' + transport.responseText + ')'); //удаляем элемент из списка var listElem = $('itemId_' + data.deletedId).parentNode.getAttribute('id'); Element.remove(listElem); var listNum = listElem.substring(8); //обновляем номера у всех остальных записей var nodes = $$('#list li'); nodes.each( function(node, index) { if (index >= listNum) { node.setAttribute('id', 'listNum_' + index); var innerNodes = $A(node.getElementsByTagName('div')); innerNodes[0].innerHTML = index + 1; innerNodes[1].setAttribute("onclick", "closeOtherEditors(" + index + ")"); } } ); //удаляем редактор из массива editors.splice(listNum,1); }} ); }
function closeOtherEditors(curEditor) { editors.each( function(editor, index) { if (index != curEditor) { editor.leaveEditMode(); } } ); }
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
Aden
Ребята помоги разобраться с созданием редактируемой таблицы. Нужно создать таблицу с редактируемыми ячейками. По щелчку на ячейку открывалась форма редактирования в самой ячейке,для первого столбца получается, а как сделать для другого не знаю...
index.php
task.js
Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.