2013-11-15 15 views
13

w moim htmlprzez event.target skąd wiem, że to pole wyboru lub radio?

<input type="checkbox" name="select"> 

<input type="radio" name="select"> 

nazwa właściwości samo z powodu jakiejś logicznej przyczyny

w moim JS

napisać poniżej kod

$('input[type="checkbox"],input[type="radio"]').on("change",function(event){ 
console.log(event.target.nodename); 
// on both cases it show "INPUT" 
} 

}); 

Więc jak będę wiem, że klikam na pole wyboru lub przycisk radiowy

Każda pomoc będzie mile widziane

Odpowiedz

26

.nodeName daje tag html używany, więc trzeba użyć .type dostać rodzaj tam węzła.

Spróbuj tego:

console.log(event.target.type); 

Demo

0

można użyć event.target.getAttribute('type') zamiast

5
console.log($(event.target).is(':radio')); 
console.log($(event.target).is('[type="radio"]')); 
0

spróbuje użyć attr() podobnego

console.log($(this).attr('type'));// checkbox or radio 

Kod

$('input[type="checkbox"],input[type="radio"]').on("change", function (event) { 
    console.log($(this).prop('tagName'));// INPUT 
    console.log($(this).attr('type'));// checkbox or radio 
}); 
0

można użyć

function test(e) 
{ 
    var eve = e || window.event; 
    var ele = eve.target || eve.srcElement; 

    switch(ele.getAttribute('type')) 
    { 
    case "radio" : //do whatever 

    case "checkbox" : //do 
    } 

} 
2

Dla tych z Was szuka czystej drodze JavaScript, to event.target.tagName.

Ta właściwość jest łańcuchem znaków typu "wielkie litery", np. "A", "UL", "LI" itp.

Powiązane problemy