EDYCJA 1 lutego 2013. Ze względu na popularność tej odpowiedzi i zmiany w jQuery w wersji 1.9 (i 2.0) dotyczące właściwości i atrybutów, dodałem kilka uwag i skrzypiec, aby zobaczyć, jak to działa podczas uzyskiwania dostępu do właściwości / atrybutów na wejściu, przyciski i niektóre opcje. Skrzypce tutaj: http://jsfiddle.net/pVBU8/1/
pobierz wszystkie dane wejściowe:
var allInputs = $(":input");
pobierz wszystkie typy wejść:
allInputs.attr('type');
pobierz wartości:
allInputs.val();
UWAGA: .val () NIE jest tym samym, co: zaznaczone dla tych typów, dla których ma to znaczenie. posługiwać się:
.attr("checked");
EDYCJA 1 lutego 2013 - re: jQuery 1.9 użyj prop () nie attr (), ponieważ attr nie zwróci prawidłowych wartości dla właściwości, które uległy zmianie.
.prop('checked');
lub po prostu
$(this).checked;
aby uzyskać wartość czeku - cokolwiek to jest. lub po prostu użyj ': selected', jeśli chcesz tylko te, które SĄ zaznaczone.
EDYCJA: Oto inny sposób na uzyskanie typu:
var allCheckboxes=$('[type=checkbox]');
EDIT2: Zwróć uwagę, że forma:
$('input:radio');
jest przekonany
$(':radio');
które są równoznaczne z:
$('input[type=radio]');
ale „wejście” jest pożądane, więc pobiera tylko dane wejściowe i nie używa uniwersalnego „*”, gdy $(':radio')
używana jest forma z, która równa się$('*:radio');
EDYCJA 19 sierpnia 2015 r .: $('input[type=radio]');
należy używać preferencji, ponieważ umożliwia to nowoczesnym przeglądarkom optymalizację wyszukiwania wejścia radiowego.
EDYCJA 1 lutego 2013 za komentarz re: select elements @dariomac
$('select').prop("type");
zwróci wartość „wybierz jeden” lub „wybierz wiele” w zależności od atrybutu „wiele” i
$('select')[0].type
zwraca to samo dla pierwszego zaznaczenia, jeśli istnieje. i
($('select')[0]?$('select')[0].type:"howdy")
zwróci typ, jeśli istnieje, lub „howdy”, jeśli nie.
$('select').prop('type');
zwraca własność pierwszej z nich w DOM, jeśli istnieje, lub „nieokreślona”, jeśli żadna nie istnieje.
$('select').type
zwraca typ pierwszego, jeśli istnieje, lub błąd, jeśli żaden nie istnieje.