Как определить тип элемента ввода HTML для события, используя jQuery? - PullRequest
3 голосов
/ 21 декабря 2009

Учитывая следующий пример кода:

$(document).ready(function(){
    $(":input").blur(function(){
        alert("The input type is:" );  //How would this look??????
    })
});

Как я могу определить, является ли это ввод, выбор, текст и т. Д.?

Это не реальный пример, но должно быть достаточно для целей этого вопроса

Ответы [ 5 ]

11 голосов
/ 21 декабря 2009
$(this).attr("type");

См. Документацию jQuery Селекторы / Атрибут для получения дополнительной информации.

5 голосов
/ 21 декабря 2009

Как я могу определить, является ли это ввод, выбор, текст и т. Д.?

Обратите внимание, что элементы select, textarea, "etc" не охватываются $('input'). Вы, вероятно, скорее хотите использовать $(':input'), чтобы получить их все.

$(document).ready(function(){
    $(':input').blur(function(){
        alert('The tag is:' + this.tagName);
        if (this.tagName == 'INPUT') {
           alert("The input type is:" + $(this).attr('type'));
        }
    })
});
1 голос
/ 21 декабря 2009
$(this).attr("type");

например:

$(document).ready(function(){
    $("input").blur(function(){
        alert("The input type is:" + $(this).attr("type"));
    })
});
0 голосов
/ 21 декабря 2009

Почему бы не пройти и посмотреть, какой атрибут / свойство будет наиболее полезным?

$(document).ready(function(){
    $("input").blur(function(){
        for (var x in this)
            alert(x + ":" + this[x]);
    })
});
0 голосов
/ 21 декабря 2009

Это должно работать ...

$(document).ready(function(){
    $("input").blur(function(){
        var type = this.type;
        alert("The input type is:" + type);
    })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...