ФорумПрограммированиеJavaScript → php таблицы + JavaScript

php таблицы + JavaScript

  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 28 января 2009 г. 7:36, спустя 8 дней 1 час 6 минут

    Почитал немного про javascript, DOM…

    Написал скрипт, но пока не пойму, что еще добавить для осуществления цели…



    // Здесь считается количество TR и TD
    var tr_count = document.getElementsByTagName("tr").length;
    var td_count = document.getElementsByTagName("td").length;

    //Функция добавления новой строки
    function add()

    {
    var x;
    var text_html; //Объявляем переменную
    text_html = "<tr id='tr_"+tr_count+"'>"; // Назначаем айдишники каждому новому tr 'у

    //Цикл. Присваиваем переменной код по типу a=a+b
    for(i=0;i<td_count;i++){
    text_html += "<td><input type=text></td>";}

    // .= так и не понял… Здесь видимо закрываем тегом код
    text_html .= "</tr>";

    // Здесь надо добавить новую строку видимо…
    x=$("#tr_"+tr_count).after( text_html);
    var x=document.getElementById('myTable').insertRow(0)
    ….

    ..

    }


    Вот сам принцип… вроде логично. Строго не судите, только изучаю яву) Если можно помогите с кодоим до конца разобраться) Спасибо
  • Trej Gun

    Сообщения: 5302 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 8:33, спустя 56 минут 54 секунды

    тут явно намешан чистый ЖС и жУквери

    text_html .= "</tr>";

    тут не .= a +=

  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 29 января 2009 г. 0:49, спустя 16 часов 15 минут 47 секунд


    тут явно намешан чистый ЖС и жУквери

    text_html .= "</tr>";

    тут не .= a +=




    Спасибо) Вот бы еще код доделать) В данный момент не пойму с концовкой, получается, что я доожен выводить ROW. Как знаю, но вот чем его накормить, чтобы строка была нужной мне структуры…
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 29 января 2009 г. 3:36, спустя 2 часа 47 минут 13 секунд

    Нашел скрипт добавления столбцов, все там интересно… подсчет хеадов, добавление и удаление:


    function addColumn(tblId)
    {
    var tblHeadObj = document.getElementById(tblId).tHead;
    for (var h=0; h<tblHeadObj.rows.length; h++) {
    var newTH = document.createElement('th');
    tblHeadObj.rows[h].appendChild(newTH);
    newTH.innerHTML = '[th] row:' + h + ', cell: ' + (tblHeadObj.rows[h].cells.length - 1)
    }

    var tblBodyObj = document.getElementById(tblId).tBodies[0];
    for (var i=0; i<tblBodyObj.rows.length; i++) {
    var newCell = tblBodyObj.rows.insertCell(-1);
    newCell.innerHTML = '[td] row:' + i + ', cell: ' + (tblBodyObj.rows.cells.length - 1)
    }
    }
    function deleteColumn(tblId)
    {
    var allRows = document.getElementById(tblId).rows;
    for (var i=0; i<allRows.length; i++) {
    if (allRows.cells.length > 1) {
    allRows.deleteCell(-1);
    }
    }
    }


    Мне надо сделать также, но только добавление и удаление строк. Сейчас парюсь с этим)
    Мне надо подсчитать кол-во тр и тд и потом также добавлять?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 29 января 2009 г. 3:43, спустя 6 минут 49 секунд

    relictx, тебе же сказали жукери учи.

    $trcount = $("table.results tr").length;
    $tdcount = $("table.results tr:first td").length;

    вопрос снят? :)
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 29 января 2009 г. 3:46, спустя 2 минуты 38 секунд


    relictx, тебе же сказали жукери учи.

    $trcount = $("table.results tr").length;
    $tdcount = $("table.results tr:first td").length;

    вопрос снят? :)


    Ок, разберусь сам…
    Ссылочку не подкинете где почитать?)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 29 января 2009 г. 3:54, спустя 8 минут 37 секунд

    http://docs.jquery.com
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 29 января 2009 г. 3:55, спустя 16 секунд

    а вообще, я знаю много, но гугль все равно больше))
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 29 января 2009 г. 3:55, спустя 54 секунды


    http://docs.jquery.com


    Спасибо, сел за чтение, хотя конечно на русском было бы лучше)
  • Trej Gun

    Сообщения: 5302 Репутация: N Группа: в ухо

    Spritz 29 января 2009 г. 4:12, спустя 16 минут 38 секунд

    jquery по-русски
    http://habrahabr.ru/blogs/jquery/25007/
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 2 февраля 2009 г. 1:37, спустя 3 дня 21 час 25 минут

    Чтобы закрыть тему окончательно, выкладываю свое решение. Может кому то пригодиться:


    function addColumn(tblId)
    {

    var th_count = document.getElementsByTagName("th").length;
    var tr_count = document.getElementsByTagName("tr").length;

    var x=document.getElementById('tblSample').insertRow(-1)


    var y1=x.insertCell(0)
    y1.innerHTML=tr_count

    for (var i=1; i<th_count-2; i++) {
       var y2=x.insertCell(1)
       y2.innerHTML="<input type=text value=Введите_оценку>"}

    var y3=x.insertCell(th_count-2)
    y3.innerHTML="Сумма"

    var y4=x.insertCell(th_count-1)
    y4.innerHTML="Вывод"

    }


    Все работает. У меня ведется подсчет заглавий TH и под мои нужды добавляются новые строки с нужными полями. Разобраться сможет каждый начинающий, сам разбирался, читал неделю) Всем спасибо!

    З.Ы. Теперь думаю как вести подсчет СУММЫ по значениям в полях с Введите оценку)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 февраля 2009 г. 2:16, спустя 38 минут 41 секунду

    relictx, лучшеб неделю жукери читал, сделал бы за минут 20 свой пример :)
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 3 февраля 2009 г. 3:25, спустя 1 день 1 час 9 минут

    Еще раз извеняюсь…
    Вот теперь считаю сумму и возникла проблема. При добавлении новой строки с td-шками, каждой td я назначаю имя:

    for (var i=1; i<th_count-2; i++) {
    var y2=x.insertCell(1)
    y2.innerHTML="<input type=text name=td"+i+">"}


    Теперь пытаюсь сосчтиать сумму, но возникает ошибка в определении имени td-шки:

    function sum(tblId)
    {

    var td_count = document.getElementsByTagName("td").length;

    for (var i=2; i<td_count-2; i++) {
    var item = parseFloat(document.form1.td.value);
    item= item+item;}
    document.form1.sum1.value = item;

    }


    Там где td… Чтоже не так, как правильно определить все td-шки строки и сосчитать сумму? Спасибо!
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 3 февраля 2009 г. 3:39, спустя 13 минут 32 секунды

    я так понимаю что должно быть document.form1["td"+i].value
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 3 февраля 2009 г. 6:09, спустя 2 часа 30 минут 31 секунду


    я так понимаю что должно быть document.form1["td"+i].value

    Точно! Только считает одну ячейку, не делает переход по всем нужным в строке…
    Наверное не правильно for закрутил..

Пожалуйста, авторизуйтесь, чтобы написать комментарий!