我有一个.aspx文件,我有代码,这里是用户选择下拉选项的代码:
<td align="right">PI Organization: </td>
<td>
<asp:DropDownList ID="ddlOrg" runat="server" TabIndex="9" AutoPostBack="True"
onselectedindexchanged="ddlOrg_SelectedIndexChanged">
<asp:ListItem Value="none">(Select One)</asp:ListItem>
<asp:ListItem>University of Fun</asp:ListItem>
<asp:ListItem>UOFF</asp:ListItem>
<asp:ListItem>Other</asp:ListItem>
</asp:DropDownList>
</td>
如果用户选择UOFF的乐趣大学,那么我需要在其下面使用if语句,如果用户选择其他则为50美元
这就是我所拥有的:
if(ddOrg="University of Fun"){
fee = $40;
}
else {(ddlOrg="UOFF"){
fee = $40;
}
else {ddOrg="Other"){
fee = $50;
}
答案 0 :(得分:0)
首先,如果您想在用户提交之前显示客户端通知,我建议删除AutoPostBack =“true”。
我还建议对每个列表项使用一个值,例如:
<asp:DropDownList ID="ddlOrg" runat="server" TabIndex="9" >
<asp:ListItem Value="0">(Select One)</asp:ListItem>
<asp:ListItem Value="1">University of Fun</asp:ListItem>
<asp:ListItem Value="2">UOFF</asp:ListItem>
<asp:ListItem Value="3">Other</asp:ListItem>
</asp:DropDownList>
然后,您可以使用jQuery / javascript显示消息,具体取决于用户的选择。
在.aspx视图中,您可以使用以下内容:
<%--Reference jQuery--%>
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript" >
$(document).ready(function(){
$("#<%=ddlOrg.ClientID %>").change(function() {
var selectedValue = parseInt($(this).val());
//add extra logic for your options
if (selectedValue === 1) {
//set the text to display
$("#priceNotice").html("$40");
});
});
});
</script>
<span id="priceNotice"></span>
如果用户选择“娱乐大学”,这将导致“40美元”显示在范围内。您可以修改代码以满足其他选项。
答案 1 :(得分:0)
您需要使用等于运算符(==)而不是赋值运算符。此外,您的前两个案例可以压缩为一个。
if(ddOrg == "University of Fun" || ddlOrg == "UOFF"){
fee = $40;
} else {
fee = $50;
}
此外,你有一些错位的括号,并且不需要使用else的条件。如果确实需要条件,则必须使用elseif
而不是else
。这对于所有其他情况基本上都是有意义的,所以它没有条件,如果没有满足先前的条件,它就会退回。 ||
是逻辑运算符或。由于if
中两个条件的费用均为40美元,因此您可以if ( conditionOne OR conditionTwo)
使代码更具可读性。