jQuery find input type (aber auch für select)

Lesezeit: 1 Minute

Ich muss den Eingabetyp für Optionsfelder, Text und Auswahlen finden. Es ist einfach, den Eingabetyp von irgendetwas zu finden <input type="x"> seit $(this).attr("type") würde zurückkehren x

Mein Problem ist, dass ich Unterstützung brauche <select> Elemente, die nicht das type-Attribut haben. Das Endziel besteht darin, entweder Radio, Text oder Select zurückzugeben.

Ich dachte daran, so etwas zu tun, aber ich war neugierig, ob es einen besseren Weg gibt:

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)
}

Danke an alle!

Benutzer-Avatar
Nils

Du kannst das (hier fummeln), machen Sie eine Art einfach zu verwendendes Plugin:

$.fn.getType = function(){ return this[0].tagName == "INPUT" ? this[0].type.toLowerCase() : this[0].tagName.toLowerCase(); }

Und benutze es so

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

Dadurch wird der Typ des ersten ausgewählten Elements abgerufen.

Andere Information

Wenn Sie nur einige Selektoren haben möchten, können Sie dies verwenden:

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

Oder wählen Sie alle Formularsteuerelemente (Mehr Info):

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

Alle Arten von Eingabefeldern und Auswahlfeldern zusammen mit jQuery finden:

$('#myForm').find('select,input').each(function(i,box){
     alert($(box).attr('name'));
}

1186940cookie-checkjQuery find input type (aber auch für select)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy