2010-06-06 19 views

cevap

31

Russ Cam tarafından verilen ilk çözüme daha kısa bir alternatif olacaktır Böylece hiçbir seçenek seçilmez.

Belirli bir varsayılan değer seçmek isterseniz, boş bir dize yerine bu değeri iletmeniz yeterlidir.

$('#mySelect').val('someDefaultValue'); 

veya seçeneğin dizine göre bunu yapmak için, bunu yapabilirsiniz:

$('#mySelect option:eq(0)').attr('selected','selected'); // Select first option 
+1

bu doğru değil. tüm seçenekleri temizlemek istiyor. val (''); bunu yapmaz, simpyl seçimi temizler. bunun yerine .empty() kullanmalısınız – nights

44
$('#dropdownid').empty(); 

Bu, öğenin altındaki tüm <option> öğelerini kaldıracaktır.

Seçili öğelerin seçimini kaldırmak isterseniz, Russ koduna gidin.

+0

Açılır listeyi boş olarak ayarladıktan sonra tüm seçenekleri nasıl geri alabilirim, açılır listenin veritabanından alındığını unutmayın. –

+1

@Piyush: Eğer aynı seçeneği geri yüklemek isterseniz, bunları sadece önbelleğe alabilirsiniz. Gibi, var $ opts = $ ('select option'). Detach(); 've sonra bunları daha sonra yeniden ekleyebilirsiniz: $ opts.appendTo ('# selectID');' – jAndy

+0

Bunu nasıl temizlediğimi anladım Ancak benim durumumda seçim seçenekleri başka bir açılır listenin seçimine dayanan bir veritabanından dolduruldu. Öyleyse, varsayılan metni oraya nasıl koyarım, çünkü öntanımlı metin orjinalinden gelmişti, böylece kaynak gösteriyor, ama ajax yok. Sadece '$ (' # blarg '). Val (' Varsayılan Metin ') koymak '' benim için işe yaramadı. –

15

seçilen seçeneklere

$('select option:selected').removeAttr('selected'); 

aslında (Bunu söylediğini sanmıyorum rağmen) için seçenekleri kaldırmak isterseniz

sıfırlamak istiyorsanız.

$('select').empty(); 

sizin durumunuzda en uygun seçicinin için Yedek select (bu kimliğe göre ya da CSS sınıfı tarafından olabilir). listeyi korumak istiyorsanız bu varsayar

$('#mySelect').val(''); 

ama bunu yapmak: sayfadaki tüm <select> unsurları sıfırlayacak olduğu gibi kullanılması

0

jQuery kullanarak düğme tıklama ile önyükleme sayfasını sıfırlamak istiyorsanız:

function resetForm(){ 
     var validator = $("#form_ID").validate(); 
     validator.resetForm(); 
} 

kullanma Yukarıdaki kodda, alan rengini kırmızıya normal olarak değiştirdiniz.

sonra sadece yarıştığı değerini sıfırlamak istiyorsanız:

$("#form_ID")[0].reset();