Я хочу изменить второй стиль, который отключен, когда первый блок выбора изменен, но я не могу. Пожалуйста, помогите мне.
<html>
<body>
<select onchange="a()" id="1">
<option>Choose</option>
<option>1</option>
<option>2</option>
</select>
<select id="2" disabled="true">
<option>one</option>
<option>two</option>
</select>
<script>
function a(){
if(document.getElementById('1').value!="Choose"){
document.getElementById('2').style.background="yellow";
document.getElementById('2').style.disabled="false";
}
}
</script>
</body>
</html>
disabled
- свойство элемента, а не его коллекция стилей.
document.getElementById('2').disabled = false;
Также важно отметить, что 1
и 2
НЕ являются допустимыми идентификаторами в HTML старше HTML5, что означает, что у более старого браузера могут быть серьезные проблемы с ним (например, не распознавать его как идентификатор, не обнаруживая его с помощью getElementById
, не стирая его, и т.д.) Я предлагаю дать значимые идентификаторы, даже если он просто select1
и select2
, что помогает уменьшить вероятность случайного дублирования идентификаторов.
"Отключенная" часть - это атрибут элемента select, а не свойство CSS.
Попробуйте это вместо этого:
document.getElementById('2').disabled=false;
disabled
- атрибут, а не свойство стиля. Это должно сделать:
function a(){
if(document.getElementById('1').value!="Choose"){
document.getElementById('2').style.background = "yellow";
document.getElementById('2').disabled = false;
}
}