po wybraniu wartości z listy rozwijanej, jeśli wybrane wartości są równe określonej wartości, chcę, aby menu rozwijane zostało zmienione na tylko do odczytu, w jaki sposób mogę to zrobić?javascript do ustawiania atrybutu readonly na zmianie wartości rozwijanej
HTML:
<select id="s_id">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option></select>
Scenariusz:
$(document).ready(function() {
$("#s_id").change(function() {
var x = $(this).val();
//alert("something's changed");
alert($(this).val());
if (x === opel) {
alert("iff only.....");
$(this).attr("readOnly", "true");
}
});
});
Fiddle: http://jsfiddle.net/L4reds/xKQUd/2/
Po pierwsze, musisz dodać cytaty wokół warunku wartości: 'if (x ===" opel ") ...'. Po drugie i co ważniejsze, elementów 'select' nie można wprowadzać' tylko do odczytu'. Mogą być "wyłączone", ale ich wartość nie zostanie przesłana z danymi formularza. –
Czy "tylko do odczytu" oznacza, że nie można wybrać wartości? –
Twoja linia 'if (x == opel) {', zmienna 'opel' jest _undefined_. Prawdopodobnie chcesz porównać z _String_; 'if (x == 'opel') {' –