2011-09-30 150 views
3

當複選框位於gridview中時,如何在複選框被選中時如何調用Javascript函數?當複選框被選中時,如何調用javascript函數

protected void AlteraStatusExpiraSeteDias_Click(object sender, EventArgs e) 
{ 
    for (int i = 0; i < grdImoveis2.Rows.Count; i++) 
    { 
     GridViewRow RowViewExpiraSeteDias = (GridViewRow)grdImoveis2.Rows[i]; 
     CheckBox chk = (CheckBox)grdImoveis2.Rows[i].FindControl("chkExpiraSeteDias"); 
     if (chk != null) 
     { 
      String codigo; 
      if (chk.Checked) 
      { 
       codigo = (String)grdImoveis2.Rows[i].Cells[0].Text;       
       ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Registra", "AlteraStatus(codigo);", false); 
      } 
     } 
    } 
} 



<asp:GridView ID="grdImoveis2" CssClass="StyleGrid" Width="100%" runat="server" AutoGenerateColumns="false" DataSourceID="ds" BorderWidth="0" GridLines="None"> 
    <AlternatingRowStyle BackColor="White" CssClass="EstiloDalinhaAlternativaGrid" HorizontalAlign="Center"/> 
     <RowStyle CssClass="EstiloDalinhaGrid" HorizontalAlign="Center" /> 
     <HeaderStyle BackColor="#e2dcd2" CssClass="thGrid" Height="20" /> 
    <Columns> 
     <asp:BoundField HeaderText="Código" DataField="Imovel_Id" /> 
     <asp:BoundField HeaderText="Para" DataField="TransacaoSigla" /> 
     <asp:BoundField HeaderText="Valor" DataField="ValorImovel" DataFormatString="{0:c}" HtmlEncode="false" /> 
     <asp:TemplateField HeaderText="Endereco"> 
      <ItemTemplate> 
       <%# Eval("Logradouro") %>, <%# Eval("Numero") %> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField HeaderText="Data Cadastro" DataField="DataHora" DataFormatString="{0:dd/MM/yyyy}" HtmlEncode="false"/> 
     <asp:BoundField HeaderText="Data Expira" DataField="DataExpira" DataFormatString="{0:dd/MM/yyyy}" HtmlEncode="false"/> 
     <asp:TemplateField HeaderText="Ação"> 
      <ItemTemplate> 
       <asp:CheckBox ID="chkExpiraSeteDias" runat="server" onclick="alert('Foo')" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

沒有複選框,當我把圖像,並把一個鏈接的href對JavaScript,它的作品!但複選框,不!

+0

您是否可以使用任何類似JQuery的東西? – CodingGorilla

+0

我可以使用,但你如何看待JQuery的工作? –

回答

6

onclick屬性添加到複選框標記幷包含您想調用的JavaScript函數。

<asp:CheckBox ID="chkExpiraTresDias" runat="server" onclick="alert('Foo')" /> 
+0

它的工作原理,但是,我檢查複選框,我需要按發送按鈕,然後調用我的JavaScript函數傳遞參數行中的字段ID的ID。 CheckBox在GridView中 –

0

這會幫助你

$('input:checkbox[ID$="chkExpiraTresDias"]').change(function() { alert('Hello world!'); });

+0

但是,當我點擊一個「插入按鈕」時,我必須調用一個javascript函數,而不是當我檢查複選框時 –

0

我怕你會通過GridView迭代點擊你的「插入」按鈕的時候,然後你必須做的事情。類似這樣的:

foreach (GridViewRow row in this.grdImoveis2.Rows) { 
    if (row.RowType == DataControlRowType.DataRow) { 

     CheckBox chk = row.Cells(0).FindControl("chkExpiraTresDias"); 
     if (chk != null) { 
      Response.Write(chk.Checked); //Do what you gotta do here if it's checked or not 
     } 
    } 
} 

祝你好運。

Hanlet

相關問題