如何使用 Html 从 Select 选项调用 JavaScript 函数
How to call a JavaScript function from Select Option with Html
我需要在用户 select 2 个选项时调用 javascript 函数:Refusé 和 Activé
所以我这样做了,但它不起作用
编辑:我没有收到任何错误,但是在选择 Activé
或 Refusé
之后,跨度和复选框不显示,函数 Visibility
未被调用* *
<body onload="hidecheckbox()">
<script>
function hidecheckbox() {
document.getElementById("checkbox").style.visibility = "hidden";
}
</script>
<div>
<span >Etat de la candidature</span>
<select name="etat">
<option value="En cours">En cours de traitement</option>
<option onclick="Visibility()" value="Accepté">Accepté</option>
<option onclick="Visibility()" value="Refusé">Refusé</option>
</select>
</div>
<div id="checkbox" >
<span>Envoyer un email automatique </span>
<input type="checkbox" name="check" id="check" value="Envoyer un email automatique">
</div>
<script>
function Visibility()
{
document.getElementById("checkbox").style.visibility = "visible";
}
</script>
您可以在 select
上使用 onChange 事件
<select name="etat" id="mySel" onChange="Visibility()">
<option value="En cours">En cours de traitement</option>
<option value="Accepté">Accepté</option>
<option value="Refusé">Refusé</option>
</select>
然后更改Javascript
function Visibility() {
var sel = document.getElementById("mySel").value;
/* Use the above value of select option */
document.getElementById("checkbox").style.visibility = "visible";
}
我创建了一个 fiddle。 https://jsfiddle.net/fmo2drwx/ 我重命名了一些元素。
<script>
function hideCheckbox() {
document.getElementById("checkbox").style.visibility = "hidden";
}
function changeVisibility() {
document.getElementById("checkbox").style.visibility = "visible";
}</script>
<div>
<span>Etat de la candidature</span>
<select name="etat">
<option value="En cours">En cours de traitement</option>
<option onClick="changeVisibility()" value="Accepté">Accepté</option>
<option onClick="changeVisibility()" value="Refusé">Refusé</option>
</select>
</div>
<div id="checkbox" style="visibility: hidden;">
<span>Envoyer un email automatique </span>
<input type="checkbox" name="check" id="check" value="Envoyer un email automatique">
</div>
一种方法是将 onchange
添加到 select。此外,您可以将 this
作为参数传递以获取函数内部的目标。像这样应该没问题:
<select name="etat" onchange="Visibility(this)">
<option value="Accepté">Accepté</option>
<option value="Refusé">Refusé</option>
</select>
然后您可以使用 value
属性访问 selected 选项,如下所示:
function Visibility(e)
{
console.log(e.value)
document.getElementById("checkbox").style.visibility = "visible";
}
<option>
标记上的 onclick 属性不起作用。相反,您可以在 <select>
标记上使用 onChange 属性。这是它的工作原理。
<select id="select" name="etat" onChange="Visibility()">
<option value="En cours">En cours de traitement</option>
<option value="Accepté">Accepté</option>
<option value="Refusé">Refusé</option>
</select>
然后在可见性函数中。
function Visibility() {
let option = document.getElementById("select").value;
if (option === "Accepté" || option === "Refusé") {
// If you selected Accepté or Refusé show the checkbox
document.getElementById("checkbox").style.visibility = "visible";
} else {
// If you selected En cours de traitement hide the checkbox
document.getElementById("checkbox").style.visibility = "hidden";
}
}
我需要在用户 select 2 个选项时调用 javascript 函数:Refusé 和 Activé
所以我这样做了,但它不起作用
编辑:我没有收到任何错误,但是在选择 Activé
或 Refusé
之后,跨度和复选框不显示,函数 Visibility
未被调用* *
<body onload="hidecheckbox()">
<script>
function hidecheckbox() {
document.getElementById("checkbox").style.visibility = "hidden";
}
</script>
<div>
<span >Etat de la candidature</span>
<select name="etat">
<option value="En cours">En cours de traitement</option>
<option onclick="Visibility()" value="Accepté">Accepté</option>
<option onclick="Visibility()" value="Refusé">Refusé</option>
</select>
</div>
<div id="checkbox" >
<span>Envoyer un email automatique </span>
<input type="checkbox" name="check" id="check" value="Envoyer un email automatique">
</div>
<script>
function Visibility()
{
document.getElementById("checkbox").style.visibility = "visible";
}
</script>
您可以在 select
上使用 onChange 事件<select name="etat" id="mySel" onChange="Visibility()">
<option value="En cours">En cours de traitement</option>
<option value="Accepté">Accepté</option>
<option value="Refusé">Refusé</option>
</select>
然后更改Javascript
function Visibility() {
var sel = document.getElementById("mySel").value;
/* Use the above value of select option */
document.getElementById("checkbox").style.visibility = "visible";
}
我创建了一个 fiddle。 https://jsfiddle.net/fmo2drwx/ 我重命名了一些元素。
<script>
function hideCheckbox() {
document.getElementById("checkbox").style.visibility = "hidden";
}
function changeVisibility() {
document.getElementById("checkbox").style.visibility = "visible";
}</script>
<div>
<span>Etat de la candidature</span>
<select name="etat">
<option value="En cours">En cours de traitement</option>
<option onClick="changeVisibility()" value="Accepté">Accepté</option>
<option onClick="changeVisibility()" value="Refusé">Refusé</option>
</select>
</div>
<div id="checkbox" style="visibility: hidden;">
<span>Envoyer un email automatique </span>
<input type="checkbox" name="check" id="check" value="Envoyer un email automatique">
</div>
一种方法是将 onchange
添加到 select。此外,您可以将 this
作为参数传递以获取函数内部的目标。像这样应该没问题:
<select name="etat" onchange="Visibility(this)">
<option value="Accepté">Accepté</option>
<option value="Refusé">Refusé</option>
</select>
然后您可以使用 value
属性访问 selected 选项,如下所示:
function Visibility(e)
{
console.log(e.value)
document.getElementById("checkbox").style.visibility = "visible";
}
<option>
标记上的 onclick 属性不起作用。相反,您可以在 <select>
标记上使用 onChange 属性。这是它的工作原理。
<select id="select" name="etat" onChange="Visibility()">
<option value="En cours">En cours de traitement</option>
<option value="Accepté">Accepté</option>
<option value="Refusé">Refusé</option>
</select>
然后在可见性函数中。
function Visibility() {
let option = document.getElementById("select").value;
if (option === "Accepté" || option === "Refusé") {
// If you selected Accepté or Refusé show the checkbox
document.getElementById("checkbox").style.visibility = "visible";
} else {
// If you selected En cours de traitement hide the checkbox
document.getElementById("checkbox").style.visibility = "hidden";
}
}