jQuery按钮单击功能未按预期工作

时间:2018-07-04 13:44:35

标签: javascript jquery hide show

我想在单击按钮时显示div。所以我写了下面的代码

<asp:Button ID="btnDownloadExcelTemp" runat="server" CssClass="btn btn-blue" Text="Download Template" OnClick="btnDownloadExcelTemp_Click" OnClientClick="return showHideUploadDiv();" />

我要启用的div

<div class="col-md-9" id="dvUploadFile" style="display: none;">
  <div class="form-group">
    Upload file
    <div class="row clearfix">
      <div class="col-md-8">

        <asp:FileUpload ID="fluploadData" CssClass="form-control" runat="server" />
      </div>
      <div class="col-md-4">

        <asp:Button ID="btnUploadExcelData" CssClass="btn btn-blue" runat="server" Text="Upload" OnClick="btnUploadExcelData_Click" />
      </div>
    </div>

  </div>
</div>

但是在调用下面的函数时,div没有显示。

function showHideUploadDiv() {            
  alert('1');
  $("#MainContent_btnDownloadExcelTemp").click(function () {
    $('#dvUploadFile').show();
  });
}

注意:警报正在触发,但没有进入功能内部。请说明为什么会这样。

1 个答案:

答案 0 :(得分:2)

尝试删除添加.click函数的代码,就像这样吗?:

function showHideUploadDiv() {            
    alert('1');
    $('#dvUploadFile').css("display", "block");
}

您无需在函数内的按钮上分配onclick,因为您的功能已在此行中分配给按钮:

<asp:Button ID="btnDownloadExcelTemp" runat="server" CssClass="btn btn-blue" Text="Download Template" OnClick="btnDownloadExcelTemp_Click" OnClientClick="return showHideUploadDiv();" />

// "OnClientClick="return showHideUploadDiv();"