2013-11-15 12 views
13

nel mio htmlda event.target come so che è checkbox o è radio?

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

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

proprietà nome stesso a causa di qualche ragione logica

nel mio JS

scrivo sottostante Codice

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

}); 

Poi come mi so che clicco sulla checkbox o sul pulsante radio

qualsiasi aiuto sarebbe apprezzato

risposta

26

.nodeName dà il tag utilizzato html quindi bisogna usare .type per ottenere il tipo del nodo lì.

provare questo:

console.log(event.target.type); 

Demo

0

è possibile utilizzare event.target.getAttribute('type') invece

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

Provare a usare attr() come,

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

Codice

$('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

è possibile utilizzare

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

Per quelli di voi cercando il modo JavaScript puro, è event.target.tagName.

Quella proprietà è una stringa in maiuscolo del tipo di elemento, ad esempio "A", "UL", "LI", ecc.

Problemi correlati