我有asp下拉按钮,我想在下拉选择值为索引0时使按钮始终禁用,并在选择其他值时启用。
我的代码但它无效
function checkSelect()
{
if (document.getElementById('ddlSte').value == 'Select One')
document.getElementById('StGoBtn').disabled = true;
else
document.getElementById('StGoBtn').disabled = false;
}
控件:
<asp:DropDownList ID="ddlSte" runat="server" Width="162px" onchange='checkSelect(this);'>
</asp:DropDownList>
<asp:Button ID="StGoBtn" CssClass="buttnStyle" runat="server" Text="GO>>"></asp:Button>
答案 0 :(得分:2)
Asp.NET中的控件与您在代码中声明的ID不同。
让解决方案正常工作的第一种方法是将DownDropList
和Button
属性ClientIDMode
声明为Static
。这样,呈现的ID将与您在代码中声明的相同。
最好的办法,就是使用@Şhȇkhaṝ提案。例如,您可以将onchange
属性定义为:
onchange='checkSelect(<%=ddlSte.ClientID %>, <%=StGoBtn.ClientID %>);'
然后将checkSelect
函数重新定义为:
function checkSelect(ddlID, buttonID) { ... }
答案 1 :(得分:1)
在您的代码中使用<%=ddlSte.ClientID %>
和<%=StGoBtn.ClientID %>
。
function checkSelect()
{
if (document.getElementById('<%=ddlSte.ClientID %>').value == 'Select One')
document.getElementById('<%=StGoBtn.ClientID %>').disabled = true;
else
document.getElementById('<%=StGoBtn.ClientID %>').disabled = false;
}
控件ID已更改如果您使用msterpag
或user control
,则需要使用ClientID获取实际IP
有关客户ID的更多详细信息 http://www.codeproject.com/Articles/34151/ASP-NET-4-0-Client-ID-Feature
答案 2 :(得分:1)
我使用jquery获得了这个结果。
<script src="https://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#<%=StGoBtn.ClientID%>").hide();
$("#<%=ddlSte.ClientID%>").change(function () {
if ($("#<%=ddlSte.ClientID%>").val() == "Select One") {
$("#<%=StGoBtn.ClientID%>").hide();
}
else {
$("#<%=StGoBtn.ClientID%>").show();
}
});
});
</script>
注意:强>
1.为了使用jquery,我们需要在你的html页面的head部分添加以下url
https://code.jquery.com/jquery-1.10.2.min.js
2. DropDown默认值(例如“ 选择一个 ”)必须是您比较jquery代码中的值的值,即; if($(“# &lt;%= ddlSte.ClientID%&gt;“)。val()==” 选择一个 “)
3.您无需在下拉列表中添加功能html.i.e;只需将其写为如下所示。
<asp:DropDownList ID="ddlSte" runat="server" Width="162px"></asp:DropDownList>
答案 3 :(得分:0)
试试这个
在ASPX中
<div>
<select id="ddlSte" onchange="test();">
<option value="0">select</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
在JavaScript中
<script type="text/javascript">
$(document).ready(function () {
if (document.getElementById('ddlSte').value == '0')
document.getElementById('StGoBtn').disabled = true;
else
document.getElementById('StGoBtn').disabled = false;
});
function test() {
if (document.getElementById('ddlSte').value == '0')
document.getElementById('StGoBtn').disabled = true;
else
document.getElementById('StGoBtn').disabled = false;
}
</script>