2011-09-16 62 views
13

Necesito desactivar una opción de selección basada en el valor de una variable. El valor es similar a uno del valor de opción de selección y necesita ser deshabilitado.Deshabilitar las opciones de selección basadas en el valor * a través del HTML solamente! *

Para ex,

<select> 
<option>Value a</option> 
<option>Value b</option> 
</select> 

$variable = <some select option value>; 

lo tanto, si la variable es igual al valor A, entonces tiene que estar deshabilitado en seleccione la opción.

Gracias.

Respuesta

19

Con su margen de beneficio actual esto funcionará:

$("select option:contains('Value b')").attr("disabled","disabled"); 

http://jsfiddle.net/CtqC6/

EDITAR

http://jsfiddle.net/CtqC6/1/

var variable = "b" 
$("select option:contains('Value " + variable + "')").attr("disabled","disabled"); 
$("select").prop("selectedIndex",-1) 
+0

¿Cómo agrego variable en lugar del valor b, también si la primera opción se establece estar deshabilitado que se desactiva sólo cuando el usuario hace clic en el menú de selección. – Ajay

+0

Puede hacerlo dinámico construyendo el constructor con variables (vea mi edición). Además, la desactivación del elemento seleccionado funciona, simplemente no anula la selección del elemento seleccionado (también en mi edición). –

+0

buena solución simple, gracias –

5

Digamos que usted tenía el siguiente marcado

<select> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
</select> 

El uso de este jQuery, la opción de Saab se desactivaría.

$("select option").each(function() { 
    var $thisOption = $(this); 
    var valueToCompare = "saab"; 

    if($thisOption.val() == valueToCompare) { 
     $thisOption.attr("disabled", "disabled"); 
    } 
}); 

Try it out here

14
$("select option[value='"+ $variable + "']").attr('disabled', true); 
4

Ésta debe ser una solución más rápida

$('select').children('option[value="' + $variable + '"]').attr('disabled', true) 
Cuestiones relacionadas