2012-03-15 21 views
0

2つのドロップダウンと1つのテキストボックスがあります。 両方のドロップダウンから選択した値の乗算を表示したいとします。"onSelectedIndexChanged"でjquery関数を呼び出す

私はドロップダウンの "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> 

+1

このようにしてみてください。OnSelectedIndexChanged = "calculateRiskFactor();" –

+0

[this](http://www.codeproject.com/Articles/656/Using-JavaScript-to-handle-drop-down-list-selectio)を見てみてください –

答えて

0

この方法を試してみてください:

ページ全体のコードは次のようなものです。あなたはクライアント側にDroDownlist..youの'onchange'イベントを登録する必要が

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

関数が異なるjsファイルにあるので、私はもう一度ですエラーが発生します。 – user1181942

+0

このファイルにリンクを追加しますか?できるだけ全ページを表示してください。 –

+0

私はファイルリンクを追加しました...あなたは編集した質問を確認できます – user1181942

0

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

OnSelectedIndexChange()を使用してonchangeイベントを登録することができますドロップダウンリストボックスで、インデックスをseleted時にクライアント側で呼び出すことになるjavascript関数であります変更です。

2

OnSelectedIndexChangedは、ASP.NETサーバ側の機能にを返します(私が間違っていれば私に修正してください)。

クライアント側のコードを(jQueryのように)コントロールにバインドするには、なぜjQueryを使用しないでください。

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

私はこれを試しています...しかし、このイベントはトリガされません..私はまたデバッグを試みました.. :( – user1181942

+0

Ok申し訳ありません...ページの読み込み時に、ドロップダウンの値を変更した後ではなく... – user1181942

+0

hell yeah、デバッグを試してみるべきです。どんな場合でも、正しいjQueryセレクタを使用してハンドラをバインドしていることを確認してください? –

関連する問題