2013-08-22 29 views
5

Bir formdaki girişlerin bir dizi var Sağlar ki gizli:(ama bir istisna dışında)

<form id="myform"> 
    <input type="checkbox" id="goat_1"> 
    <input type="checkbox" id="goat_2"> 
    <input type="text" id="pig_3"> 
    <input type="hidden" id="cow_1"> 
    <input type="hidden" id="chick_3"> 
    <input type="hidden" id="duck_5"> 
</form> 

Ben type="hidden" hariç tüm girdileri seçmek istiyorum, ama bir istisna dışında istediğim DO "ördek" ile başlayan bir kimlik ile herhangi bir gizli giriş. Bunların hepsine tek bir dizide ihtiyacım var, böylece onun üzerinden yineleyebilirim.

Yani ilk iki bölümde kolaydır: özel durum hakkında

$("#myform").find(":input").not("[type=hidden]").each(
              function() { alert("do stuff"); }) 

Ama ne?

Bunu yapmanın en temiz yolunu arıyorum (bir satır/deyimi tercih edin).

cevap

7

oraya gitmek,

$("#myform").find(":input").not("[type=hidden]:not([id^='duck'])").each(function() { 
    alert("do stuff"); 
}); 
+0

+1 deneyin! – vee

0

bu deneyin:

$('#myform > input').not(':hidden:not([id^=duck])').each(function (i, e) { 
    alert('This is my id: ' + e.id); 
}); 

bu fiddle örneğe çalışmak.

İlgili konular