基于所选选项显示asp:TextBox的JavaScript

JavaScript to display asp:TextBox based on selected option

本文关键字:TextBox JavaScript asp 于所选 选项 显示      更新时间:2024-03-01

我最近刚开始开发ASP.NET项目的某些部分,但我对它的经验很少。这个问题与这个问题的标题中所描述的差不多,下面是代码:

<script type="text/javascript" src="/scripts/hide.fields.js"></script>   
<divs and divs...>
<asp:DropDownList class="dropdown expand" ID="EligibleUK" onchange="visaCheck(this.ListItem.GetValue());" runat="server">
                        <asp:ListItem
                            Enabled="True"
                            Text="Choose..."
                            Value=""
                        />
                        <asp:ListItem
                            Enabled="True"
                            Text="Yes (UK/EU Cittizen)"
                            Value="Yes (UK/EU Cittizen)"
                        />
                        <asp:ListItem
                            Enabled="True"
                            Text="Yes (Work Visa)"
                            Value="Yes (Work Visa)"
                        />
                        <asp:ListItem
                            Enabled="True"
                            Text="No"
                            Value="No"
                        />
                    </asp:DropDownList>

我的JS文件的内容:

function visaCheck(visa) {
if (visa === "Yes (Work Visa)"){
    document.getElementById(visa1).style.display = "block";
    document.getElementById(visa2).style.display = "block";
}else{
    document.getElementById(visa1).style.display = "none";
    document.getElementById(visa2).style.display = "none";
}   

}

现在我在html(严格地说是.master)中尝试了不同的东西,在那里我调用JS函数代码,比如:

this.ListItem
asp:ListItem
ListItem.Value
this.ListItem.Value
this.ListItem.Value()
this.ListItem.GetValue()

包括最明显的一个(this.value),它使用标准html文件和jsfiddle。在ASP.NET中有什么具体的方法可以做到这一点吗?我缺少什么?如何解决此问题?谢谢你的回答。

尝试更改:

<asp:DropDownList class="dropdown expand" ID="EligibleUK" onchange="visaCheck(this.options[this.selectdIndex].value);" runat="server">

我在自己的问题下发布了一个答案,这样它就更显眼了。我在没有参数的情况下调用js函数,我的javascript现在看起来是这样的:

function visaCheck() {
var visa = document.getElementById('Content_EligibleUK');
var selectedIndex = visa.selectedIndex;
var value = visa.options[selectedIndex].value
if (value === "Yes (Work Visa)"){
    document.getElementById("visa1").style.display = "block";
    document.getElementById("visa2").style.display = "block";
}else{
    document.getElementById("visa1").style.display = "none";
    document.getElementById("visa2").style.display = "none";
}   

}

希望这对未来的一些人有所帮助:)