Я пытаюсь создать страницу, на которой, как только вы переключите опцию выбора тега, она даст вам другой результат, но когда я переключился на опцию «Вопрос №1», выбрал один из других вариантов и снова выбрал «Вопрос №1» вариант, который он не запускал.
function testselect() {
var x = document.getElementById("testselect").value;
if (x == "") {
$(function() {
$("#demo").html("");
});
}
else {
$(function() {
$("#demo").load("c7vt.php?finished");
});
}
}
И HTML:
<select id = "question" onchange = "question()">
<option>Select Question #</option>
<option value = "1">Question #1</option>
<option value = "2">Question #2</option>
<option value = "3">Question #3</option>
</select>

Ваш HTML-код onclick вызывает функцию "question ()", но в вашем JavaScript есть функция "testselect ()". Также JavaScript получает значение из «#testselect», но на самом деле идентификатор - «#question». Обе функции, готовые к работе с документами jQuery, также необходимо удалить. Последнее, что нужно упомянуть, это то, что «x» никогда не будет пустым, потому что опция без значения будет отображать текст опции, который будет «Select Question #». Попробуйте что-то вроде этого:
HTML:
<select id = "question">
<option value = "default">Select Question #</option>
<option value = "1">Question #1</option>
<option value = "2">Question #2</option>
<option value = "3">Question #3</option>
</select>
JavaScript / jQuery:
$(function() {
$("#question").change(function(e) {
e.preventDefault();
var x = document.getElementById("question").value;
if (x == "default") {
$("#demo").html("");
} else {
$("#demo").load("c7vt.php?finished");
}
});
});
Я подумал, что именно это и произошло, учитывая, что у вас это работает, но я хотел убедиться. Рад, что смог предложить решение, которое сработало для вас! Не могли бы вы отметить ответ, когда у вас будет возможность?
Вы можете поделиться своим html? Непонятно, что именно вы спрашиваете, не могли бы вы отредактировать свой вопрос? Возможно, будет лучше, если вы измените часть, в которой написано «другой результат», на конкретный результат. Вы можете избавиться от вызова
$("#demo").load()и заменить его на что-то вроде$("#demo").html(), другим будет проще протестировать ваш код. Взгляните на минимальный воспроизводимый пример. Кроме того, не нужно оборачивать вызовы jquery внутри функций.