выбрать определенный элемент ввода в определенной строке и столбце - PullRequest
1 голос
/ 21 ноября 2011

Cosider это изображение: enter image description here

Как я могу выбрать его без его идентификатора с помощью jQuery? Я имею в виду, как я могу выбрать это как это утверждение:

Найти вход в строке с кодом = 1000 и столбцом Desc2

спасибо

Редактировать 1)

HTML-код

<table border="1" width="300px">
    <tr>
        <td>
            Desc2
        </td>
        <td>
            Desc1
        </td>
        <td>
            Code
        </td>
    </tr>
    <tr>
        <td bgcolor="#CCCCB3">
            <input id="Text1" type="text" />
        </td>
        <td>
        </td>
        <td>
            1000
        </td>
    </tr>
    <tr>
        <td bgcolor="#FFFFCC">
            &nbsp;
        </td>
        <td bgcolor="#FFFFCC">
        </td>
        <td bgcolor="#FFFFCC">
        </td>
    </tr>
    <tr>
        <td bgcolor="#CCCCB3">
            <input id="Text2" type="text" />
        </td>
        <td>
        </td>
        <td>
            1001
        </td>
        <tr>
            <td bgcolor="#CCCCB3" class="style1">
                <input id="Text3" type="text" />
            </td>
            <td class="style1">
            </td>
            <td class="style1">
                1002
            </td>
        </tr>
        <tr>
            <td bgcolor="#CCCCB3">
                <input id="Text4" type="text" />
            </td>
            <td>
            </td>
            <td>
                1003
            </td>
        </tr>
</table>

1 Ответ

1 голос
/ 21 ноября 2011

Выберите последнюю ячейку, отфильтруйте строку, последняя ячейка которой имеет значение, равное «1000», и выберите первый элемент ввода коллекции:

$("table td:last-of-type").filter(function(){
    return $(this).text() == "1000";
}).parent().find("input:first");

Для построения таких селекторов вы можете использовать следующее:

  • :eq() и .eq()
  • :nth-child() (только для конкретной дочерней позиции!)

Предупреждение: не попадет в ловушку contains(). Этот метод выбирает все элементы, которые содержат данную фразу. .contains(1000) также выберет <td>10000</td>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...