Jquery html input type

Как получить тип ввода с помощью jquery?

У меня есть страница, где тип ввода всегда меняется, и мне нужно получить значения в зависимости от типа ввода. Так что, если тип — это радио, мне нужно получить, который проверен, и если это флажок, мне нужно, чтобы они были проверены, и если это падение, мне нужно знать, какой из них выбран, и я, если это text/textarea Мне нужно знать значения. Любая идея о том, как это сделать?

Ребята, вы все зависите от входного идентификатора, но в случае радио или флажка, я должен иметь тот же идентификатор? зная, что идентификатор должен быть уникальным.

9 ответов

EDIT 1 февраля 2013 года. Из-за популярности этого ответа и изменений в jQuery в версиях 1.9 (и 2.0) в отношении свойств и атрибутов я добавил несколько заметок и скриптов, чтобы увидеть, как это работает при доступе к свойствам/атрибутам на входе, кнопках и некоторых выделениях. Скрипка здесь: http://jsfiddle.net/pVBU8/1/

ПРИМЕЧАНИЕ..val() не совпадает с: проверяется для тех типов, где это релевантно. Применение:

EDIT 1 февраля 2013 г. — re: jQuery 1.9 использует prop() not attr(), поскольку attr не возвращает правильные значения для измененных свойств.

Читайте также:  Github api php wrapper

чтобы получить значение проверки — что бы это ни было в настоящее время. или просто используйте «: checked», если хотите только те, которые были отмечены ARE.

EDIT: Вот еще один способ получить тип:

var allCheckboxes=$('[type=checkbox]'); 

которые оба приравниваются к:

но требуется «вход», поэтому он получает только входные данные и не использует универсальный «*», когда используется форма $(‘:radio’) , которая равна $(‘*:radio’);

EDIT 19 августа 2015: предпочтение следует использовать $(‘input[type=radio]’); , что позволяет современным браузерам оптимизировать поиск радиоввода.

EDIT 1 февраля 2013 г. за комментарий re: выбрать элементы @dariomac

вернет либо «select-one», либо «select-multiple» в зависимости от атрибута «multiple» и

возвращает то же самое для первого выбора, если он существует. и

вернет тип, если он существует, или «howdy», если он этого не делает.

возвращает свойство первого в DOM, если оно существует, или «undefined», если его не существует.

возвращает тип первого, если он существует, или ошибка, если она не существует.

Я попробовал это: var type = $ («: input [name =» + name + «]»). Attr (‘type’); и это сработало! Благодарю.

А что насчет «выпадающего списка» или выбора входа . потому что это не входной тег . У меня сейчас та же проблема, но я думаю использовать свойство типа dom .

allInputs.attr(‘type’); получит только первый тип элементов ввода т.е. allInputs[0].attr(‘type’); если в коллекции более одного элемента. То же самое касается allInputs.val(); Если вы хотите что-то сделать с типом или значением каждого элемента, вам нужно сделать что-то вроде allInputs.each(function()< var type = $(this).attr('type'); var val = $(this).val() >);

Вы можете сделать следующее:

var inputType = $('#inputid').attr('type'); 

@patrick- patrick- Я знаю, что идентификаторы должны быть уникальными, но почему они предлагают получить тип ввода по идентификатору, и у меня может быть радио и флажок, в котором я буду зависеть от их имен ?!

НЕТ, вы не можете дать им один и тот же идентификатор, который НЕ действителен. Вы можете использовать: input jQuery selector

Если вы говорите, что хотите получить все входы внутри формы, которая имеет значение, не беспокоясь о типе ввода, попробуйте следующее:

var $inputs = $('form').find(':checked,:selected,:text,textarea').filter(function() < return $.trim( this.value ) != ''; >); 

Теперь у вас должен быть набор элементов ввода, которые имеют некоторое значение.

Вы можете поместить значения в массив:

var array = $inputs.map(function()< return this.value; >).get(); 

Или вы можете сериализовать их:

var serialized = $inputs.serialize(); 

Это даст вам хороший набор примеров.

Абсолютно выбор элементов в DOM достигается с помощью селекторов CSS, поэтому, если вы думаете о получении элемента по id, вы захотите использовать $(‘# elementId’), если вы хотите, чтобы во всех входных тегах использовались $(‘ input ‘), и, наконец, часть, которую я думаю, вам нужно, если вы хотите, чтобы все теги ввода с типом флажка использовали $(‘ input, [type = checkbox])

Примечание. Большинство значений вы найдете в атрибутах, поэтому селектор css для атрибутов: [attributeName = value]

Просто потому, что вы попросили раскрывающееся меню, как описано в списке, попробовать следующее:

Код был из памяти, поэтому, пожалуйста, обратитесь к небольшим ошибкам

@Udhayakumar ‘[size]’ отфильтрует результаты, чтобы включить только элементы select с атрибутом size, поэтому будут выбраны только списки, а не раскрывающиеся списки.

@Udhayakumar Udhayakumar, нет, я имею в виду список, перейдите по этой ссылке [ jsfiddle.net/565961fj ], чтобы увидеть разницу между раскрывающимся списком и списком.

Источник

How to get input type using jquery?

Solution 1: The following will return true if the element is an input: or you can use the following to get the name of the tag: Solution 2: You can use .prop() with as the name of the property that you want to get: Solution 3: It is worth noting that @Marius’s second answer could be used as pure Javascript solution. You can put the values in an array: Or you could serialize them: Solution 4: Question: In jQuery, if I have a reference to an element, how can I determine what kind of element it is, for example, an input or an dropdown?

How to get input type using jquery?

I have a page where the input type always varies, and I need to get the values depending on the input type. So if the type is a radio, I need to get which is checked, and if it is a checkbox I need to now which are checked, and if it is a drop down I need to know which is selected, and I if it is a text/textarea I need to know the values.

Any idea on how to do that?

EDIT Feb 1, 2013. Due to the popularity of this answer and the changes to jQuery in version 1.9 (and 2.0) regarding properties and attributes, I added some notes and a fiddle to see how it works when accessing properties/attributes on input, buttons and some selects. The fiddle here: http://jsfiddle.net/pVBU8/1/

NOTE: .val() is NOT the same as :checked for those types where that is relevent. use:

EDIT Feb 1, 2013 — re: jQuery 1.9 use prop() not attr() as attr will not return proper values for properties that have changed.

to get the value of the check — whatever it is currently. or simply use the ‘:checked’ if you want only those that ARE checked.

EDIT: Here is another way to get type:

var allCheckboxes=$('[type=checkbox]'); 

EDIT2: Note that the form of:

but the «input» is desired so it only gets the inputs and does not use the universal ‘*» when the form of $(‘:radio’) is used which equates to $(‘*:radio’);

EDIT Aug 19, 2015 : preference for the $(‘input[type=radio]’); should be used as that then allows modern browsers to optimize the search for a radio input.

EDIT Feb 1, 2013 per comment re: select elements @dariomac

will return either «select-one» or «select-multiple» depending upon the «multiple» attribute and

returns the same for the first select if it exists. and

will return the type if it exists or «howdy» if it does not.

returns the property of the first one in the DOM if it exists or «undefined» if none exist.

returns the type of the first one if it exists or an error if none exist.

You could do the following:

var inputType = $('#inputid').attr('type'); 

If what you’re saying is that you want to get all inputs inside a form that have a value without worrying about the input type, try this:

Example: http://jsfiddle.net/nfLfa/

var $inputs = $('form').find(':checked,:selected,:text,textarea').filter(function() < return $.trim( this.value ) != ''; >); 

Now you should have a set of input elements that have some value.

You can put the values in an array:

var array = $inputs.map(function()< return this.value; >).get(); 

Or you could serialize them:

var serialized = $inputs.serialize(); 

Getting the type of a control using Javascript and JQuery, I am trying to use JQuery to get the type of control and following is the code that I am using. $ (‘#selCity’).attr (‘type’) where selCity is of type select. …

Finding the type of an element using jQuery

In jQuery, if I have a reference to an element, how can I determine what kind of element it is, for example, an input or an dropdown? Is there any way to find out?

How can I determine the element type of a matched element in jQuery?

The following will return true if the element is an input:

or you can use the following to get the name of the tag:

You can use .prop() with tagName as the name of the property that you want to get:

It is worth noting that @Marius’s second answer could be used as pure Javascript solution.

document.getElementById('elementId').tagName 

JQuery get() Method, Optional. Specifies the data type expected of the server response. By default jQuery performs an automatic guess. Possible types: «xml» — An XML document. «html» — …

Get the type of the HTML element from a jquery object [duplicate]

Possible Duplicate:
Get element type with jQuery

Preamble: I’m Italian, sorry for my bad English.

From an html code like this:

is there a way to retrieve the html objects type?

$('.myElem').each(function () < var htmlType = $(this).type() //Example console.log(htmlType); >); /* Log: * input * input * div * ul * input */ 

How to get input type using jquery?, allInputs.attr(‘type’); will only get the first elements input type ie.allInputs[0].attr(‘type’); if there are more than one element in the collection. The …

JQuery find input type (but also for select)

I need to find the input type for radio buttons, text, and selects. Its easy to find the input type of anything with since $(this).attr(«type») would return x

My issue is that I need to support elements, which dont have the type attribute . The end goal is to do return either radio, text, or select.

I thought of doing something like this, but I was curious if there’s a better way:

if ($(this).tagName == "input") < var result = $(this).attr("type"); //returns radio or text (the attr type) >else < var result = $(this).tagName; //returns select (the element type) >

You can do this (fiddle here), make some sort of easy to use plugin:

$(".element").getType(); // Will return radio, text, checkbox, select, textarea, etc (also DIV, SPAN, all element types) $(".elList").getType(); // Gets the first element's type 

Which will get the type of the first element which is selected.

If you just want to have some selectors you can use this:

$("input:text, input:radio, select"); 

Or select all form controls (more info):

$(":input") // can return all form types 

All types of input box and select box getting together by jQuery find :

$('#myForm').find('select,input').each(function(i,box)

JQuery Ajax GET and contentType?, According to the RFC 2616, it’s not forbidden to use the request body in GET requests. However, I’d like to know of an client implementation which …

Источник

Определить тип элемента с помощью JavaScript/jQuery

В этом посте мы обсудим, как определить тип элемента в JavaScript и jQuery.

1. Использование JavaScript

The tagName свойство возвращает имя тега элемента в верхнем регистре для документов HTML. Например, tagName возвращает DIV при вызове элемент.

JS

HTML

В качестве альтернативы вы можете использовать nodeName свойство, которое возвращает имя текущего узла, которое совпадает с tagName для элемента.

JS

HTML

Обратите внимание, что при вызове на элемент, как tagName или же nodeName свойство возвращает INPUT, который не сообщает, является ли ввод текстовым полем, флажком или переключателем. Тем не менее, вы можете использовать type атрибут для этой цели:

JS

HTML

2. Использование jQuery

С помощью jQuery вы можете использовать .prop() способ получить значение tagName или же nodeName или же type имущество.

JS

HTML

Если вам просто нужно проверить определенный тип элемента, вы можете использовать .is() метод, который возвращает логическое значение:

JS

HTML

Вот и все, что касается проверки типа элемента в JavaScript и jQuery.

Средний рейтинг 4.67 /5. Подсчет голосов: 24

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂

Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно

Источник

Оцените статью