Estoy tratando de hacer una pregunta de opción múltiple que, cuando se selecciona la respuesta correcta, activa un botón
function enAble() { let possibleAns = document.getElementById('question').value; if (possibleAns != 1) { document.getElementById("btton").disabled = true; } else if (possibleAns = 1) { document.getElementById("btton").disabled = false; } } <select id="question" onchange="enAble()"> <option>wrong answer</option> <option value="1">right answer</option> <option>wrong answer</option> </select> <button id="btton" type="button" disabled>button</button>Cambie ansposible!=1 a ansposible!==1
También use possibleAns ===1 en otra declaración
En else if (possibleAns = 1) { , (possibleAns = 1) es una instrucción de asignación. Use else if (possibleAns == 1) { para verificar la igualdad.
Una forma más limpia de codificar eso (en mi humilde opinión).
const select_element = document.getElementById('question') , button_element = document.getElementById("btton") ; select_element.onchange = () => { button_element.disabled = (select_element.value != '1') } <select id="question"> <option value="0">wrong answer</option> <option value="1">right answer</option> <option value="2">wrong answer</option> </select> <button id="btton" type="button" disabled> button </button>