在“onSelectedIndexChanged”上调用jquery函数

时间:2012-03-15 06:24:48

标签: javascript jquery asp.net

我有两个下拉菜单和一个文本框。 我想显示两个下拉列表中所选值的乘法。

所以我试图在“OnSelectedIndexChanged”上调用一个jquery函数,即使是下拉列表。不过我在Visual Studio中构建时遇到错误。

我的代码是:

<asp:DropDownList ID="ddlProbability" runat="server" Width="125px" OnSelectedIndexChanged="javascript:calculateRiskFactor();">

错误是:Invalid expression term ':' and Invalid expression term ')' and some more

语法有什么问题,或者这是调用函数的错误方法吗?

整个页面代码是这样的:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Submit_Risks.aspx.cs" Inherits="Risks_Submit_Risks" MasterPageFile="~/MasterPages/SAPMaster.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"></asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">    
<script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../Scripts/Validation.js"> </script>
<div class="container">
    <div class="contain">
        <div class="title">
            Risks</div>
        <div class="data">
            <asp:Label runat="server" ID="lblMsg"></asp:Label>
            <table class="style1" align="center">

                <tr>
                    <td class="style2">
                        Probability (P)
                    </td>
                    <td class="style3">
                        <asp:DropDownList ID="ddlProbability" runat="server" Width="125px">
                        </asp:DropDownList>
                        <asp:RequiredFieldValidator ID="rfvProbability" runat="server" ControlToValidate="ddlProbability"
                            InitialValue="0" ValidationGroup="vgSubmit" ErrorMessage="Probability" ForeColor="Red"
                            Text="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td class="style2">
                        Impact (S)
                    </td>
                    <td class="style3">
                        <asp:DropDownList ID="ddlImpact" runat="server" Width="125px">
                        </asp:DropDownList>
                        <asp:RequiredFieldValidator ID="rfvImpact" runat="server" ControlToValidate="ddlImpact"
                            InitialValue="0" ValidationGroup="vgSubmit" ErrorMessage="Impact" ForeColor="Red"
                            Text="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
                    </td>
                </tr>
    </div>
    </div>
</div>

3 个答案:

答案 0 :(得分:2)

就我记忆中的ASP.NET WebForms而言,OnSelectedIndexChanged只指向指向.NET服务器端函数,ASP.NET使用回发调用(纠正我)如果我错了。)

要将客户端代码绑定到控件(就像使用jQuery一样),为什么不使用jQuery为你做呢?

$('select[id$="ddlProbability"]').change(calculateRiskFactor);

答案 1 :(得分:0)

试试这种方式。

<asp:DropDownList ID="ddlProbability" runat="server" Width="125px" OnSelectedIndexChanged="calculateRiskFactor()">

答案 2 :(得分:0)

您必须注册DroDownlist的客户端'onchange'事件。您可以使用

注册onchange事件
DropDownList1.Attributes.Add("onChange", "return OnSelectedIndexChange();") 

OnSelectedIndexChange()是一个javascript函数,当DropDownListBox选择索引发生更改时,将在客户端调用。