2012-06-20 20 views
10

Jak sprawdzić, czy dany element DOM jest polem wyboru.Sprawdź, czy element DOM jest polem wyboru

Scenariusz:

Mam zestaw pól tekstowych i wyboru, w którym wartości są przypisywane dynamicznie. Nie mam sposobu na określenie, czy element DOM jest polem wyboru, czy polem tekstowym.

Odpowiedz

15

Jeśli używasz jQuery, można użyć przełącznika :checkbox wraz z is metody:

if($("#that-particular-input").is(":checkbox")) { 
} 
1

Spójrz na checkbox selector.

var checkboxes = $("form input:checkbox"); 

Można powiedzieć, jakiego typu wejście jest tak:

if ($(".your-input").is(":text")) 
{ 
    // Textbox 
} 
else if ($(".your-input").is(":checkbox")) 
{ 
    // Checkbox 
} 
37

Używając tylko wanilię javascript można zrobić

if (el.type && el.type === 'checkbox') { 
    ... 
} 

lub nawet krótszy

if ((el || {}).type === 'checkbox') { 
    ... 
} 
+2

Wiele lat później ... prawdopodobnie chcesz "doLowerCase", która jest wartością, prawda? – Nathan

+0

Nie, zamień na "lowerCase" i porównaj to. –

+0

@ AndreasKöberle powinno zależeć od tego, jak napisałeś atrybut w znacznikach, prawda? – fcalderan

0

Try to;

$(element).is(':checkbox'); 

tutaj element jest selektor do listy element

if( $(element).is(':checkbox')) { 
    // do something 
} 
1
if (<DOMNode>.type === "checkbox") { 
    // ... 
} 
0

jQuery is():

if ($el.is(':checkbox')) { ... } 
0

można użyć pseudo-selektor: pole z wezwaniem do jQuery jest funkcja:

$('#myinput').is(':checkbox')

3
if($(element)[0].type == "checkbox") { 

} 

LUB

if($(element).is(':checkbox')) { 

} 
8

Sprawdza coś

function isCheckbox (element) { 
    return element instanceof HTMLInputElement 
     && element.getAttribute('type') == 'checkbox' 
} 
0

Powinieneś mieć przyzwoitą konwencję nazewnictwa, która pozwala ci wiedzieć, czy element jest polem wyboru po prostu widząc jego identyfikator lub nazwę. np. "chkMyCheckbox"

Powiązane problemy