2

UpdatePanel 内に 2 つのチェックボックスがあり、AutoPostBack="true"

<asp:CheckBox  ID="IsCompanyEnabled" runat="server" 
            AutoPostBack="true"
            Checked="false" 
            CssClass="agentcompany" 
            Text="COMPANY" />
<asp:CheckBox  ID="IsCompanyNotDetermined" runat="server" 
            AutoPostBack="true"
            Checked="false" 
            CssClass="agenttobedetermined" 
            Text="TO BE DETERMINED" />

これらの CheckBox をクリックすると、CheckedChanged イベントが発生します。すべては順調です。

これで、同じチェックボックスに作用する別の JavaScript 関数ができました

function SetEmployeeDetails(selectedPanel) {

    var panel_id = "#" + selectedPanel;
    var container = $(panel_id);
    container.find(".agentcompany").find(":checkbox").prop('checked', false); //problem zone
    container.find(".agenttobedetermined").find(":checkbox").prop('checked', false); //problem zone
    //$("#popup_dialog").dialog("close");
    return false;
}

このシナリオで問題が発生します。

  1. Company CheckBoxが最初にチェックされているとします。
  2. 次に、JavaScript 関数をトリガーし、 checked イベントCompany CheckBoxの効果を上書きした後、チェックを外します。Company CheckBox
  3. ここで、フォームの [保存] ボタンをクリックすると、IsCompanyEnabled_CheckChangedイベントがトリガーされる前にSaveButton_Clickイベントがトリガーされます。

それは私のすべてのコードフローをかなり台無しにします。IsCompanyEnabled_CheckedChangedもう一度トリガーしたくありません。どうすればこの問題を克服できますか?

JavaScript 関数から CheckBoxes に問い合わせる方法はありますevent.stopPropogationか?

4

1 に答える 1

0

stopPropagation()を試しましたか?

 container.find(".agentcompany").find(":checkbox")
  .click(function(event){
      event.stopPropagation();
  });
于 2012-06-27T06:23:47.777 に答える