Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как вернуть строки по содержимому ячеек ? (https://javascript.ru/forum/jquery/13730-kak-vernut-stroki-po-soderzhimomu-yacheek.html)

Андрей38 11.12.2010 13:40

Как вернуть строки по содержимому ячеек ?
 
Здравствуйте !Господа програмисты, помогите пожайлуста решить такой ,трудный для меня вопрос_Я лишь как 30 дней изучаю понятие о скриптах и не имею уверенности , что освою это дело.Мне необходимо
Вернуть те TR-строки в ПОСЛЕДНИХ TD-Ячейках которых есть НУЛИ

<table >
  
      <tr>
            <td>A</td>
            <td> текстА</td>
            <td>0</td>
          </tr>
          <tr>
            <td>B</td>
            <td>текстB</td>
            <td>40</td>
          </tr>
          <tr>
            <td>C</td>
            <td>текстC</td>
            <td>0</td>
          </tr>
          <tr>
            <td>D</td>
            <td>тексстD</td>
            <td>50</td>
          </tr>
        </tbody>
      </table></td>
    </tr>

</table>

и такое же для Инпут-Текста в первых ячейках

Вернуть те строки по ПЕРВЫМ ячейкам в которых есть ТЕКСТ ПОЛЕ-input с value='0'(РАВНО) НУЛЮ ; и для 2-й варианта: те строки с vаlue БОЛЬШЕ Нуля в их первых ячейках

<table>

    <tr>
      <td><input name="textfield" id="textfield" type="text"  value="0" /></td>
      <td> текстАf</td>
      <td>0</td>
    </tr>
    <tr>
      <td><input name="textfield2" id="textfield2" value="40" type="text" /></td>
      <td>текстBf</td>
      <td>40</td>
    </tr>
    <tr>
      <td><input name="textfield3" id="textfield3" value="0" type="text" /></td>
      <td>текстCf</td>
      <td>0</td>
    </tr>
    <tr>
      <td><input name="textfield4" id="textfield4" value="50" type="text" /></td>
      <td>тексстDf</td>
      <td>50</td>
    </tr>

</table>


Пожайлуста_ помогите :cray: С уважением Андрей( в прошлом я любитель 3д графики_Эксперементировал с VRml в 3Д-Максе)

exec 11.12.2010 14:16

var rows = document.getElementById("main").rows,
nodes = [];
for (var i = 0; i < rows.length; i++)
	if (rows[i].cells[rows[i].cells.length - 1].innerHTML.replace(/\s|\n/g, "") == "0")
		nodes.push(rows[i]);


Таблице присвоить id='main'.

monolithed 11.12.2010 14:24

Цитата:

Сообщение от Андрей38
в прошлом я любитель 3д графики_Эксперементировал с VRml в 3Д-Максе

Какое отношение это имеет к вашему вопросу?

<script type="text/javascript">
window.onload = function(){
    var td = document.getElementsByTagName('td'), i = td.length;
    while(i--){
        if(td[i].innerHTML == 0){
            td[i].parentNode.style.color = 'red';
        }
    }
};
</script>

<table>
    <tbody>
        <tr>
            <td>1</td>
            <td>1</td>
            <td>1</td>
        </tr>
        <tr>
            <td>1</td>
            <td>0</td>
            <td>1</td>
        </tr>
        <tr>
            <td>1</td>
            <td>1</td>
            <td>1</td>
        </tr>
    </tbody>
</table>

exec 11.12.2010 14:55

monolithed, зачем все TD перебирать?

monolithed 11.12.2010 15:22

exec, ну я надеюсь что автор, не настолько глуп, чтобы не поставить идентификатор.

Андрей38 03.02.2011 17:22

Цитата:

Сообщение от monolithed (Сообщение 83340)
Какое отношение это имеет к вашему вопросу?

<script type="text/javascript">
window.onload = function(){
    var td = document.getElementsByTagName('td'), i = td.length;
    while(i--){
        if(td[i].innerHTML == 0){
            td[i].parentNode.style.color = 'red';
        }
    }
};
</script>

<table>
    <tbody>
        <tr>
            <td>1</td>
            <td>1</td>
            <td>1</td>
        </tr>
        <tr>
            <td>1</td>
            <td>0</td>
            <td>1</td>
        </tr>
        <tr>
            <td>1</td>
            <td>1</td>
            <td>1</td>
        </tr>
    </tbody>
</table>

Ребята !!! Не ожидал , что кто-то ответит !!! Спасибо ОГРОМНОЕ !!!

За это время я продвинулся немного дальше и сам решил более легкую задачу на примере поиска ВЛОЖЕННОЙ таблици и вложенного <UL> в ячейку таблици , используя JQuery фреймворк,
и ,как я думаю,именно ПЕРЕБИРАЯ строки таблици . Я делаю это через двойной парент_ PARENT().PARENT() Те сначала - ЯЧЕЙКА содержимого ,потом СТРОКА , и так можна дойти и до BODY :) .Был рад,что после этого увидел в нете такой же подход и в других ). Вы заметили, что я новичок в таком деле:)

Должно быть ваши коды высокоскоросные и как я надеюсь , работают при поиске по значению именно в VALUE !!! Спасибо огромное еще раз !!!


Часовой пояс GMT +3, время: 00:33.