Как проверить идентификатор текстового поля в JavaScript? - PullRequest
1 голос
/ 29 июня 2010

У меня есть этот замечательный javascript, который автоматически заполняет значения всех текстовых полей на странице числом, начиная с 1, затем увеличиваясь.* содержать txtSortOrder

Может кто-нибудь, пожалуйста, помогите мне исправить эту строку: (это только предположение)

if ($('input:text:eq(' + i + ')').ID.Contains("txtSortOrder")

Ответы [ 2 ]

3 голосов
/ 29 июня 2010

Вы можете получить любой атрибут, используя функцию attr. Для Contains() вы можете использовать indexOf, который вернет -1, если поиск не найден.

Так что это подводит нас так далеко:

if ($('input:text:eq(' + i + ')').attr('id').indexOf("txtSortOrder") !== -1)

Теперь для вашей итерации вы можете использовать each для обработки результатов вашего запроса.

1019 * Е.Г. *

function editTextBoxes() {
    $('input:text[id~=txtSortOrder]').each(function (index) {
        $(this).val(index + 1);
    });
}

Обратите внимание, что это расширяет ваш селектор для использования Атрибут содержит слово селектор : input:text[id~=txtSortOrder]

Это означает, что вам не нужно выполнять сравнение идентификаторов вручную

1 голос
/ 29 июня 2010

код:

function editTextBoxes() {
    // it will select all textboxes which id contain txtSortOrder
    var textboxs = $('input:text').filter(function(){
        this.id.indexOf("txtSortOrder") !== -1;
    });

    for (i = 0; i <= textboxs.length; i++) {
        $('input:text:eq(' + i + ')').val(i + 1);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...