Вызовите функцию jquery для "onSelectedIndexChanged"
У меня есть два выпадающих и одно текстовое поле. Я хочу отобразить умножение выбранных значений из обоих выпадающих.
Поэтому я пытаюсь вызвать функцию jquery на "OnSelectedIndexChanged" даже из выпадающих списков. Но я получаю ошибку во время сборки в 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 ответа
Насколько я помню из ASP.NET WebForms, OnSelectedIndexChanged
только указывает на серверную функцию.NET, которую ASP.NET вызывает с обратной передачей (поправьте меня, если я ошибаюсь).
Чтобы связать клиентский код с элементом управления (как с jQuery), почему бы не использовать jQuery, чтобы сделать это за вас?
$('select[id$="ddlProbability"]').change(calculateRiskFactor);
Вы должны зарегистрироваться на стороне клиента 'onchange'
событие DroDownlist..вы можете зарегистрировать onchange
использование события
DropDownList1.Attributes.Add("onChange", "return OnSelectedIndexChange();")
OnSelectedIndexChange()
является функцией javascript, которая будет вызываться на стороне клиента при изменении выбранного индекса DropDownListBox.
Попробуйте так.
<asp:DropDownList ID="ddlProbability" runat="server" Width="125px" OnSelectedIndexChanged="calculateRiskFactor()">