我的代码有一个问题,在我的html中有一个带有两个选项的数据列表,当“Azienda”选项被选中时,我想显示名为“Aziende”的div,但当我选择“Privato”时,我不想显示该div,但问题是当我选择“Privato”时,它也显示给我div。有人能帮我吗?
<form class="contact-form" action="#" method="POST">
<div>
<input class="lista_c" type="text" list="data_list" name="lista" placeholder="Scegli un opzione">
<datalist id="data_list">
<option value="Azienda">Azienda</option>
<option value="Privato">Privato</option>
</datalist>
</div> <br>
<input class="input1" type="text" name="nome" placeholder="Nome" />
<input class="input1" type="text" name="cognome" placeholder="Cognome" /> <br>
<input class="input2" type="text" name="email" placeholder="Email" /> <br>
<div id="aziende" style="display: none">
<input class="nome-azienda" type="text" name="nome-azienda" placeholder="Nome Azienda" />
<input class="iva" type="text" name="IVA" placeholder="P.IVA" />
</div>
</form>
<script>
let getvalue = document.getElementsByName('lista') [0];
getvalue.addEventListener('input', function() {
if(getvalue !== [0]){
document.getElementById('aziende').style="display: block";
}else{
document.getElementById('aziende').style="display: none";
}
})
</script>
您的比较(if语句)无效。您将dom元素'getValue'与单个元素为零的数组进行比较。
我认为您应该比较输入元素的值,而不是元素本身。你还把它和数组做了比较?您应该将其与您要查找的值进行比较:
if (getvalue.value !== 'Azienda') {
为了帮助调试类似的事情,在测试之前使用console.log或alert语句显示变量的值是很有用的:
console.log('value of getvalue input element', getvalue.value);
if (getvalue.value
正如注释中提到的,您的if
测试不正确。有关工作解决方案的详细信息,请参阅下面的注释。
null
.hidden {
display: none;
}
html lang-html prettyprint-override"><form class="contact-form" action="#" method="POST">
<div>
<input class="lista_c" type="text" list="data_list" name="lista" placeholder="Scegli un opzione">
<datalist id="data_list">
<option value="Azienda">Azienda</option>
<option value="Privato">Privato</option>
</datalist>
</div> <br>
<input class="input1" type="text" name="nome" placeholder="Nome" />
<input class="input1" type="text" name="cognome" placeholder="Cognome" /> <br>
<input class="input2" type="text" name="email" placeholder="Email" /> <br>
<!-- Use CSS classes instead of inline styles when possible. -->
<div id="aziende" class="hidden">
<input class="nome-azienda" type="text" name="nome-azienda" placeholder="Nome Azienda" />
<input class="iva" type="text" name="IVA" placeholder="P.IVA" />
</div>
</form>
<script>
const div = document.querySelector("#aziende");
document.querySelector("[name='lista']").addEventListener('input', function() {
// Just check the value of the input
if(this.value === "Azienda"){
div.classList.remove("hidden"); // Show the div
} else {
div.classList.add("hidden"); // Hide the div
}
});
</script>
问题内容: 我碰到了以下内容 在这种情况下,和是什么意思? 问题答案: 它称为条件运算符(是三元运算符)。 它有以下形式:?: 认为“ then”和“ else”。 您的代码等同于
我正在创建一个导航栏,如下所示。 我想实现的主要功能有: 点击汉堡按钮时显示侧边栏。 在菜单上悬停时显示下拉列表。当指针离开下拉列表或菜单时,下拉列表应该被隐藏。 我的问题是: 显示时,菜单列表似乎出现在侧边栏的前面。我希望侧边栏位于菜单和绿色标题div的前面,但仍位于最顶端的导航栏(带有徽标的导航栏)的后面。我把它们叠错了吗 下拉列表根本不显示。我曾经尝试过做很多事情,直到我将鼠标悬停在菜单上时
我有一个带有单个输入的html搜索表单。在输入字段中,用户可以写三个不同的东西:区域名称,旅行名称,其他关键字。 null 剧本: 提前感谢Chaim
在我的.html中,我有一个指定一些值和一个带有2个选项的数据列表: 第一个:获取输入的值 第二个:其中I*ng表示值列表。 在Firefox和Chrome中我的列表正常显示,但在Edge/IE11中只显示一个元素。所有数据都已加载,但我需要在选项中导航以显示它们。最后,当我拥有所有元素(在导航之后)时,如果我搜索一个更具体的元素,就会显示一个灰色块。我该怎么解决这个?
本文向大家介绍Html5中datalist是什么相关面试题,主要包含被问及Html5中datalist是什么时的应答技巧和注意事项,需要的朋友参考一下 标签定义选项列表,与 input 元素配合使用该元素,来定义 input 可能的值。 datalist 及其选项不会被显示出来,它仅仅是合法的输入值列表。
本文向大家介绍JavaScript中0和""比较引发的问题,包括了JavaScript中0和""比较引发的问题的使用技巧和注意事项,需要的朋友参考一下 今天在公司的时候发现了一个很奇怪的Js的问题,以前也没有注意到,我从数据库中取出某一个字段的值,而这个字段值刚好是0,然后我在判断这个值是不是等于""时,就出现了如下的问题: 就是JS认为0==""是成立的,也就是0==""的结果是true, 验证