2012-03-15 1 views
0

У меня есть два раскрывающихся списка и одно текстовое поле. Я хочу отображать умножение выбранных значений из обоих выпадающих списков.Вызов функции jquery на «onSelectedIndexChanged»

Так что я пытаюсь вызвать функцию jquery на «OnSelectedIndexChanged» даже из выпадающих меню. Hoever Я получаю ошибку во время сборки в 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> 

+1

попробуйте его так: OnSelectedIndexChanged = "calculateRiskFactor();" –

+0

попытайтесь посмотреть [this] (http://www.codeproject.com/Articles/656/Using-JavaScript-to-handle-drop-down-list-selectio) –

ответ

0

Попробуйте этот путь.

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

Как функция в другом js-файле, я снова получение ошибки. – user1181942

+0

Вы добавляете ссылку в эти файлы? покажите мне полную страницу, если сможете. –

+0

Я добавил ссылку на файл ... вы можете проверить отредактированный вопрос – user1181942

0

Вы должны зарегистрироваться на стороне клиента 'onchange' событие DroDownlist..you может зарегистрировать onchange событие, используя

DropDownList1.Attributes.Add("onChange", "return OnSelectedIndexChange();") 

OnSelectedIndexChange() является Java-функция, которая будет звонить, когда на клиентской стороне, когда DropDownListBox seleted индекс это изменения.

2

Насколько я помню из ASP.NET WebForms, OnSelectedIndexChanged только указывает назад к функции .NET на стороне сервера, который вызывает ASP.NET с постбэка (поправьте меня, если я ошибаюсь).

Чтобы связать код на стороне клиента с элементом управления (например, с jQuery), почему бы вам не использовать jQuery для этого?

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

Я пытаюсь это ... однако это событие никогда не срабатывает. Я также пробовал отладки .. :( – user1181942

+0

Хорошо, извините ... Теперь событие запускается, но во время загрузки страницы, а не после изменения значения выпадающего списка ... – user1181942

+0

черт возьми, вы должны попробовать отладки. hahaha.: D в любом случае, вы уверены, что используете правый селектор jQuery для привязки обработчиков к ? –

Смежные вопросы