0

我有一个 .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>

我需要在它下方添加一个 if 语句,如果用户选择 UOFF 的趣味大学,则为 40 美元,如果用户选择其他,则为 50 美元

这是我所拥有的:

if(ddOrg="University of Fun"){
    fee = $40;
}
else {(ddlOrg="UOFF"){
    fee = $40;
}
else {ddOrg="Other"){
    fee = $50;
}
4

2 回答 2

0

您需要使用相等运算符 (==) 而不是赋值运算符。此外,您的前两个案例可以浓缩为一个。

 if(ddOrg == "University of Fun" || ddlOrg == "UOFF"){
    fee = $40;
} else {
    fee = $50;
}

此外,您有一些放错位置的括号,并且不需要使用 else 的条件。如果确实需要条件,则必须使用elseifnot else。Else 本质上意味着对于所有其他情况,因此它不需要条件,如果不满足先前的条件,它就是后备。||是逻辑运算符或。由于这两个条件的费用都是if40 美元,您不妨if ( conditionOne OR conditionTwo)让代码更具可读性。

于 2013-03-07T20:59:51.893 回答
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>

如果用户选择“University of Fun”,这将导致“$40”显示在跨度中。您可以修改代码以满足您的其他选项。

于 2013-03-07T20:52:21.057 回答