2014-07-09 25 views
5

lege ich Wert auf eine Drop-Down-Box, wie folgt:jQuery - entfernen wählen Sie die Option basierend auf Text nicht

<select id="select_Boiler"> 
    <option value="boiler_1645">Vaillant 831</option> 
    <option value="boiler_2373">Worcester 24</option> 
    <option value="boiler_3009">Vaillant 835</option> 
    <option value="boiler_4354">Bosch 671</option> 
</select> 

Ich brauche spezifische Optionen können entfernen mit jQuery sein, aber basierend auf dem Text nicht der Optionswert. Ich habe schon versucht, diese ohne Erfolg:

jQuery("#select_Boiler option[text='Vaillant 835']").remove(); 

Ich weiß, ich kann mit dem Wert das gleiche tun, wie unten und es funktioniert, aber ich muss es tun, indem Text

jQuery("#select_Boiler option[value='boiler_3009']").remove(); 

Antwort

12

Sie :contains verwenden können, filtern basierend auf Textinhalt eines Elements, aber beachten Sie, dass es teilweise Übereinstimmungen zurückgibt. So wird :contains('Vaillant 835') Rückkehr :contains('Vaillant 835') und :contains('Vaillant 8356')

jQuery("#select_Boiler option:contains('Vaillant 835')").remove(); 

Wenn Sie gleich filtern möchten, müssen Sie einen manuellen Filter tun, wie

jQuery("#select_Boiler option").filter(function(){ 
    return $.trim($(this).text()) == 'Vaillant 835' 
}).remove(); 
Verwandte Themen