Javascript 如何重置隐藏时的下拉列表值?
当下拉列表隐藏时,我尝试重置下拉列表值。当用户重新选择零时,我隐藏下拉列表。 隐藏代码正在成功运行,如下所示-:Javascript 如何重置隐藏时的下拉列表值?,javascript,html,Javascript,Html,当下拉列表隐藏时,我尝试重置下拉列表值。当用户重新选择零时,我隐藏下拉列表。 隐藏代码正在成功运行,如下所示-: if(child_num == 0){ var e = document.getElementById("child1_age3"); if(e.style.display == 'block') e.style.display = 'none'; else e.style.display = 'none'; var
if(child_num == 0){
var e = document.getElementById("child1_age3");
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'none';
var e = document.getElementById("child1_age2");
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'none';
var e = document.getElementById("child1_age1");
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'none';
}
重置下拉值的代码,它不工作
// clear input on hide
document.getElementById('child1_age1').options.length = 0;
或
我尝试了两种方法,但都没有重置。请建议我如何重置此下拉值。这可能无法完全解决实际问题,但如果您只是以任何方式将
显示设置为'none'
,则确实不需要这些if/else
语句
这与问题中的代码完全相同:
if(child_num == 0){
document.getElementById("child1_age3").style.display = 'none';
document.getElementById("child1_age2").style.display = 'none';
document.getElementById("child1_age1").style.display = 'none';
}
尝试以下代码重置选择零索引时的下拉列表:
HTML
挑选
猫
狗
母牛
JavaScript
$(document).ready(function(){
$("#dropDown").change(function(){
var selectedIndex = this.selectedIndex;
//if the first element is selected again
if(selectedIndex === 0){
$("#dropDown").html("");
$("#dropDown").append('<option value="0">SELECT</option>');
}
});
});
$(文档).ready(函数(){
$(“#下拉列表”).change(函数(){
var selectedIndex=this.selectedIndex;
//如果再次选择第一个元素
if(selectedIndex==0){
$(“#下拉列表”).html(“”);
$(“#下拉列表”).append('SELECT');
}
});
});
您可以使用以下代码设置下拉值:
var dropDownEle = document.getElementById("dropDownID").options;
for (var i=0; i < dropDownEle.length; i++)
{
if(dropDownEle[i].value == 'ValueYouWantToSelect');
dropDownEle[i].selected=true;
}
var-dropDownEle=document.getElementById(“dropDownID”).options;
对于(变量i=0;i
希望有帮助 假设重置的意思是选择以下选项中的第一个:
您也可以像这样使用document.getElementById:
var selectElement = document.getElementById("child1_age3");
selectElement.item(0).selected = true;
a的()函数接受一个索引值,并将为您提供该索引中的内容的单一表示形式。HTMLOptionElement有一个选定的属性,只需将其设置为true
如果您想尝试使用它,请查看此处:您的真正意思是清除该值,还是不将该值提交给服务器?如果是后者,你能忽略服务器端的值吗?If/else
对做了完全相同的事情吗?只是我想在用户单击子项的num时,先将下拉列表重置为值0或索引0@Cerbrus相同的代码适用于不同的下拉列表idI,但您确实不需要if/else
,ifif
子句的作用与else
子句完全相同。只需执行document.getElementById(“some_id”).style.display='none'
。首先我想它需要jq,请使用简单的JS来执行,尝试下面的Java脚本代码:document.getElementById(“dropDown”).addEventListener(“change”,onDropDownChange);函数onDropDownChange(){var selectedIndex=this.selectedIndex;if(selectedIndex==0){document.getElementById(“dropDown”).innerHTML=“”;document.getElementById(“dropDown”).innerHTML='SELECT';}}确定值已重置,我已使用。document.getElementById(“child1_age1”).innerHTML='0';但是0是可见的,而不是隐藏。单击0时仍不会重置值是否在用于隐藏的代码之前使用代码重置,如果否,请执行此操作。“选择”是用于查询DOM的选择器。您可以按照自己的意愿检索此元素,也可以将document.querySelector(“select”)替换为document.getElementById(“child1_age3”);我在回答中更新了我的示例。
var dropDownEle = document.getElementById("dropDownID").options;
for (var i=0; i < dropDownEle.length; i++)
{
if(dropDownEle[i].value == 'ValueYouWantToSelect');
dropDownEle[i].selected=true;
}
var selectElement = document.querySelector("select");
selectElement.item(0).selected = true;
var selectElement = document.getElementById("child1_age3");
selectElement.item(0).selected = true;