<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Javascript: выделение строки по галочке</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/6196.html</link>
    <description>Приветствую. Надеюсь на небольшую помощь, ситуация такова:&lt;br&gt;Есть обычная табличка, в каждой строке которой присутствует галочка, для выделения каждой из строк.&lt;br&gt;Цель: сделать так, чтобы по клике на галочку, строка в которой она находится - выделялась как-либо (менялся класс).&lt;br&gt;Сначала было сделано такое, только по клику на саму строку - но был определенный глюк, после чего решил событие на всю строку не вешать. В общем делаю так:&lt;br&gt;&lt;br&gt;// Выбираем все таблицы на странице&lt;br&gt;  var tables = document.getElementsByTagName(&quot;table&quot;);&lt;br&gt;  for (var i=0; i &amp;lt; tables.length; i++)&lt;br&gt;  &#123;&lt;br&gt;    for(var k=1; k &amp;lt; tables&#091;i&#093;.rows.length; k++)&lt;br&gt;    &#123;&lt;br&gt;// Определяем строку (для удобства)&lt;br&gt;      var row = tables&#091;i&#093;.rows&#091;k&#093;;&lt;br&gt;// Следующими двумя строками берем первый чекбокс в строке, по которому будем клацать&lt;br&gt;      var firstCell = row.cells&#091;0&#093;;&lt;br&gt;      var checkbox = firstCell.firstChild;&lt;br&gt;// Вещаем событие на клик по чекбоксу&lt;br&gt;      checkbox.onclick = function ()&lt;br&gt;      &#123;&lt;br&gt;        row.className = row.className == &quot;selected&quot; ? &quot;&quot; : &quot;sele</description>

<item>
    <title>Javascript: выделение строки по галочке (Brabus)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/6196.html#5</link>
    <pubDate>Tue, 10 Feb 2009 16:58:38 GMT</pubDate>
    <description>&amp;gt;нужно не &lt;br&gt;&amp;gt;tables.rows&lt;br&gt;&amp;gt;а&lt;br&gt;&amp;gt;tables &#091; i &#093; .rows&lt;br&gt;&amp;gt;По поводу 1. &lt;br&gt;&amp;gt;я так понял что &#091; i &#093; если написать без пробелов будет &lt;br&gt;&amp;gt;убрано скриптом проверки сообщения &lt;br&gt;&lt;br&gt;Хе, точно, а я то думаю, о чем это вы. В моих предыдущих сообщениях вырезалось.&lt;br&gt;&lt;br&gt;&amp;gt;this.parentNode.parentNode.className = this.parentNode.parentNode.className == &quot;selected&quot; ? &quot;&quot; : &quot;selected&quot;;&lt;br&gt;&lt;br&gt;Вот, не вспомнил про такую вещь как parentNode :) Примного благодарен, этот вариант работает как положено. Ну, когда рабочий вариант есть, можно занятся и красотой, спасибо.&lt;br&gt;</description>
</item>

<item>
    <title>Javascript: выделение строки по галочке (BahuL)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/6196.html#4</link>
    <pubDate>Tue, 10 Feb 2009 09:10:35 GMT</pubDate>
    <description>По поводу 1.&lt;br&gt;я так понял что &#091; i &#093; если написать без пробелов будет убрано скриптом проверки сообщения&lt;br&gt;</description>
</item>

<item>
    <title>Javascript: выделение строки по галочке (BahuL)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/6196.html#3</link>
    <pubDate>Tue, 10 Feb 2009 09:07:49 GMT</pubDate>
    <description>1. &lt;br&gt;  вы гоните массив найденных тегов table по циклу а обращаетесь не как к массиву а как к переменной &lt;br&gt;нужно не &lt;br&gt; tables.rows&lt;br&gt;а&lt;br&gt; tables &#091; i &#093; .rows&lt;br&gt;2.&lt;br&gt;После прогона по циклу в переменной row лежит указатель на последнюю строку последней таблицы, и независимо от кликнутого чекбокса будет менятся класс только последней строки последней таблицы&lt;br&gt;для простой таблички &lt;br&gt; &amp;lt;table width=&quot;90&#037;&quot; border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&amp;gt;&lt;br&gt;    &amp;lt;tr&amp;gt;&lt;br&gt;        &amp;lt;td&amp;gt;&amp;lt;input type=&quot;checkbox&quot; name=&quot;check1&quot; id=&quot;check1&quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;        &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br&gt;    &amp;lt;/tr&amp;gt;&lt;br&gt;    &amp;lt;tr&amp;gt;&lt;br&gt;        &amp;lt;td&amp;gt;&amp;lt;input type=&quot;checkbox&quot; name=&quot;check2&quot; id=&quot;check2&quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;        &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br&gt;    &amp;lt;/tr&amp;gt;&lt;br&gt;&amp;lt;/table&amp;gt;&lt;br&gt;я на скорую руку поставил&lt;br&gt;checkbox.onclick = function ()&lt;br&gt;      &#123;&lt;br&gt;        this.parentNode.parentNode.className = this.parentNode.parentNode.className == &quot;selected&quot; ? &quot;&quot; : &quot;selected&quot;;&lt;br&gt;      &#125;&lt;br&gt;и у меня работало.&lt;br&gt;Уверен, что если подумать то можно сделать красивее...&lt;br&gt;</description>
</item>

<item>
    <title>Javascript: выделение строки по галочке (Brabus)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/6196.html#2</link>
    <pubDate>Sat, 07 Feb 2009 12:23:07 GMT</pubDate>
    <description>&amp;gt;Ошибка понятна даже если вообще js не знаешь. Используйте self(или как оно &lt;br&gt;&amp;gt;называется в js) вместо row в теле функции. &lt;br&gt;&lt;br&gt;This есть, указывает на текущий элемент.&lt;br&gt;Это работать не будет, и вот почему:&lt;br&gt;если на this заменять row в функции, которую мы вешаем на событие при клике&lt;br&gt;      checkbox.onclick = function ()&lt;br&gt;      &#123;&lt;br&gt;        row.className = row.className == &quot;selected&quot; ? &quot;&quot; : &quot;selected&quot;;&lt;br&gt;      &#125;&lt;br&gt;, то this указывает на элемент, с которым функция работает, то есть на чекбокс. А нам необходимо иметь &quot;указатель&quot; на строку, чтобы ей менять класс.&lt;br&gt;Если же на this менять где-то выше, что в принципе бесполезно, но ради прикола сделано: this указывает на объект window.&lt;br&gt;</description>
</item>

<item>
    <title>Javascript: выделение строки по галочке (angra)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/6196.html#1</link>
    <pubDate>Sat, 07 Feb 2009 07:43:48 GMT</pubDate>
    <description>Ошибка понятна даже если вообще js не знаешь. Используйте self(или как оно называется в js) вместо row в теле функции. &lt;br&gt;</description>
</item>

</channel>
</rss>
