Получить тип элемента формы с помощью jQuery
У меня есть форма с некоторыми входами и выборами. Я хочу получить тип элемента при щелчке с помощью jQuery. Я знаю, что могу использовать attr("input")
для получения, если элемент радио, флажок или текст, но как насчет selects
и textarea
?
Есть ли общая функция, например .type()
, чтобы ее получить?
Ответы
Ответ 1
Вы можете использовать :input
, чтобы выбрать все элементы ввода.
Вы можете попробовать что-то вроде...
$('#your-form').find(':input').click(function() {
var type = this.type || this.tagName.toLowerCase();
alert(type);
});
Для элементов input
это должно дать вам атрибут type
, например text
, radio
, checkbox
и т.д.
Для элементов select
и textarea
он должен дать вам имя тега, например select
или textarea
.
Ответ 2
Первый .attr('input')
не даст вам тип, используйте его для входов:
var type = $('input').attr('type')
Для входов, select и textarea:
$('#formId :input').click(function() {
alert(this.tagName != 'INPUT' ? this.tagName : this.type);
});
:input
selector docs:
Описание. Выбирает все элементы ввода, textarea, select и button.
JSFiddle DEMO
Ответ 3
Получение типа элемента (ввод, выбор, div, span и т.д.):
var elementType = $(this).prop('tagName');
Проверка определенного типа элемента:
var is_element_input = $(this).is("input"); //true or false
Получение типа ввода (input type="button"
и т.д.)
var inputType = $(this).attr('type');
Ответ 4
Выбирает, а текстовые области - разные теги. Используйте tagName
.
element.tagName
Ответ 5
Дайте всем вашим элементам имя класса сказать "checktype", а затем используйте: -
$(".checktype").click(function(){
alert(this.tagName);
})