За последние 24 часа нас посетили 16590 программистов и 1679 роботов. Сейчас ищут 852 программиста ...

Подсвечивание строк денамически созданной страницы

Тема в разделе "JavaScript и AJAX", создана пользователем pavel24071988, 11 авг 2011.

  1. pavel24071988

    pavel24071988 Активный пользователь

    С нами с:
    7 окт 2010
    Сообщения:
    7
    Симпатии:
    0
    Здравствуйте!
    В javascript не сильно силен, нужен вообщем совет

    Есть страница Ajax, при нажатии на кнопку (запрос) на страницу выгружается таблица (кол-во строк генериться в зависимости от результата запроса) В таблице есть столбцы: id, name, summ,.... Как можно сделать, что бы при наведении или при нажатии на определенную строку я бы получил name(запись в строке)?
    Данные в таблицу загружаются из XML строки

    Вот собственно код (упрощенный :) у меня также формируется таблица)
    HTML:
    1.   <script language='javascript'>
    2.     function addRow(a,b,c) {
    3. for (i=0; i<10; i++){
    4.      var r  = document.createElement('tr');
    5.      var ca = document.createElement('td');
    6.      var cb = document.createElement('td');
    7.      var cc = document.createElement('td');
    8.      var ta = document.createTextNode(a);
    9.      var tb = document.createTextNode(b);
    10.      var tc = document.createTextNode(c);
    11.      var t  = document.getElementById('test');
    12.  
    13.  
    14.      ca.appendChild(ta);
    15.      cb.appendChild(tb);
    16.      cc.appendChild(tc);
    17.  
    18.      r.appendChild(ca);
    19.      r.appendChild(cb);
    20.      r.appendChild(cc);
    21.  
    22.      t.tBodies(0).appendChild(r);
    23.    }
    24. }
    25.  
    26.  
    27.  
    28.  </script>
    29.   </head>
    30.  
    31.    <form>
    32.       Column A: <input type=text name=a>
    33.   <br>Column B: <input type=text name=b>
    34.       Column C: <input type=text name=c>
    35.   <br><input type=button value='Запрос' onClick='javascript:addRow(a.value, b.value, c.value)'>
    36.  
    37.    </form>
    38.  
    39.    <table id="test" align=left >
    40.      <tr><td>id</td><td>name</td><td>summ</td></tr>
    41.    </table>
    42.  
    43. </body>
    44. </html>
    Для хождения по строкам пытаюсь использовать функцию
    Вот собственно код с функцией
    HTML:
    1.  
    2.  <script language='javascript'>
    3. function trsetcolor(tableID, selColor, normColor){
    4.      table = document.getElementById(tableID);
    5.      var trs=table.getElementsByTagName('tr');
    6.      for(var j=0;j<trs.length;j++){
    7.       trs[j].onmouseover=function(){this.bgColor = selColor;return false;};
    8.       trs[j].onmouseout=function(){this.bgColor = normColor;return false;};
    9.     }
    10. }
    11.    function addRow(a,b,c) {
    12. for (i=0; i<10; i++){
    13.      var r  = document.createElement('tr');
    14.      var ca = document.createElement('td');
    15.      var cb = document.createElement('td');
    16.      var cc = document.createElement('td');
    17.      var ta = document.createTextNode(a);
    18.      var tb = document.createTextNode(b);
    19.      var tc = document.createTextNode(c);
    20.      var t  = document.getElementById('test');
    21.  
    22.  
    23.      ca.appendChild(ta);
    24.      cb.appendChild(tb);
    25.      cc.appendChild(tc);
    26.  
    27.      r.appendChild(ca);
    28.      r.appendChild(cb);
    29.      r.appendChild(cc);
    30.  
    31.      t.tBodies(0).appendChild(r);
    32.    }
    33. }
    34.  
    35.  
    36.  </script>
    37. </head>
    38. <body onload="trsetcolor('test', '#66ff99', '#ffffff');">
    39.  
    40.    <form>
    41.       Column A: <input type=text name=a>
    42.   <br>Column B: <input type=text name=b>
    43.       Column C: <input type=text name=c>
    44.   <br><input type=button value='Запрос' onClick='javascript:addRow(a.value, b.value, c.value)'>
    45.  
    46.    </form>
    47.  
    48.    <table id="test" align=left >
    49.      <tr><td>id</td><td>name</td><td>summ</td></tr>
    50.    </table>
    51.  
    52. </body>
    53. </html>
    СФОРМИРОВАННЫЕ СТРОКИ НЕ ПОДСВЕЧИВАЮТСЯ, что не так-то?

    А еще нужно и вытягивать значения сроки(ячейки) для переменой последующего AJAX запроса

    Очень нужна помощь зала !!!!
     
  2. Reposlav

    Reposlav Активный пользователь

    С нами с:
    5 авг 2011
    Сообщения:
    34
    Симпатии:
    0
    Вместо this.bgColor используйте this.style.backgroundColor, это раз.
    Значение ячейки находится в свойстве this.innerHTML или this.innerText