Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何重置隐藏时的下拉列表值?_Javascript_Html - Fatal编程技术网

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
,if
if
子句的作用与
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;