2013-11-15 78 views
13

在我的HTML我怎麼知道它是複選框或它是無線電?

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

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

name屬性相同,由於在我的JS一些合乎邏輯的理由

我寫下面的代碼

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

}); 

那麼我將如何知道我點擊複選框或單選按鈕

任何幫助,將不勝感激

回答

26

.nodeName給用,所以你必須使用.type到那裏節點的類型html標籤。

試試這個:

console.log(event.target.type); 

Demo

0

可以使用event.target.getAttribute('type')代替

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

嘗試使用attr()一樣,

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

代碼

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

可以使用

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

對於那些尋找純JavaScript的方式,這是event.target.tagName

該屬性是元素類型的大寫字符串,如「A」,「UL」,「LI」等。

相關問題