tutorial español array jquery jquery-selectors

español - jquery filtrar a seleccionar qué opciones contiene alguna cadena



jquery selector id contains (4)

Creo que esto hace el truco:

$(''#phone_line option'').filter('' option[value^="AA"] '').remove();

Violín

Considere a continuación seleccionar

<select id="phone_line" name="phone_line"> <option value=""></option> <option value="BB-11">Line 1</option> <option value="AA-22">Line 2</option> <option value="AA-33">Line 3</option> <option value="BB-44">Line 4</option> </select>

Si quiero filtrar las opciones y eliminar la línea con el valor BB-44 , puedo hacerlo como:

$(''#phone_line option'').filter('' option[value="BB-44"] '').remove();

Si quiero eliminar líneas cuyos valores comienzan con AA ? Puedo hacerlo con cada uno de la siguiente manera:

$("#phone_line > option").each(function () { if (this.value.substring(0, 2) === ''AA'') { $("#phone_line option[value=''" + this.value +"'']").remove(); } });

¿Pero puedo hacerlo con filtros (en una línea?!). Código en:

http://jsfiddle.net/mpp4emd1/


El uso del atributo starts with selector lo hará

$(''#phone_line option[value^="AA"]'').remove();

Referencia: El atributo comienza con el selector [name ^ = "value"]

MANIFESTACIÓN

Para un filtrado más complejo use el filter(function)

$("#phone_line > option").filter(function () { return this.value.substring(0, 2) === ''AA''; }).remove();


Prueba esto:

$(''#phone_line'').find(''option[value^="AA"]'').remove();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select id="phone_line" name="phone_line"> <option value="">select phone line...</option> <option value="BB-11">Line 1</option> <option value="AA-22">Line 2</option> <option value="AA-33">Line 3</option> <option value="BB-44">Line 4</option> </select>

$(''#phone_line'').find(''option[value^="AA"]'') esto devuelve una colección y no necesita tener .filter() para eliminar las opciones que comienzan / contienen el valor AA .


Puede hacerlo con $("#phone_line option").filter(''[value^="AA"]'').remove();