при выборе значений из раскрывающегося списка, если выбранные значения равны определенному значению, я хочу, чтобы выпадающее меню менялось на чтение, как я могу это сделать?javascript для установки атрибута readonly при изменении значения выпадающего списка
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>
Сценарий:
$(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/
Во-первых, вам нужно добавить кавычки вокруг условия значения: 'if (x ===" opel ") ...'. Во-вторых, и что более важно, элементы 'select' не могут быть сделаны' readonly'. Они могут быть «отключены», но их значение не будет отправляться с данными формы. –
С «только для чтения» вы подразумеваете, что значение не может быть выбрано? –
Ваша строка 'if (x == opel) {', variable 'opel' is _undefined_. Вы, вероятно, хотели сравнить с _String_; 'if (x == 'opel') {' –