2017-02-08 7 views
0

Я использую этот DatePicker на моем проекте (http://keith-wood.name/datepick.html)vb.net JQuery DatePicker постбэк

Я использую его на asp:TextBox управления и проблема в том, что элемент управления теряет способность AutoPostBack.

То, что я хочу достичь, это обновление gridview, связанное с выбранной датой, и до того, как использовать этот конкретный датпикер, он работал (но мне пришлось менять датупик по разным причинам).

Если я изменяю дату или выбираю пользователя из раскрывающегося списка, он должен обновить gridview.

Соответствующие части моего кода:

<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { $('#txtData').datepick({ dateFormat: 'dd/mm/yyyy'}); 
</script> 

НИЖЕ IS INSIDE ОБНОВЛЕНИЕ ПАНЕЛЬ, СЦЕНАРИЙ МЕНЕДЖЕР декларируется НА СТР

<div class="generic"> 
    <div class="panel"> 
     <div class="title"><h1>Chiamate del giorno</h1></div> 
      <div > 
       <asp:TextBox runat="server" ID="txtData" CssClass="calendarTxt" placeholder="Data" BorderStyle="Solid" BorderColor="#d13f31" BorderWidth="2px" required="required" AutoPostBack="true"></asp:TextBox> 
       <asp:DropDownList ID="ddlUtenti" runat="server" AppendDataBoundItems="true" CssClass="dropdown" placeholder="Scegli a chi riassegnare la chiamata" AutoPostBack="true" OnSelectedIndexChanged="ddlUtenti_SelectedIndexChanged"> 
     <asp:ListItem Value="-1">Tutti</asp:ListItem> 
    </asp:DropDownList> 
      </div> 


     <br /> 
     <div class="content"> 
      <div id="divChiamateGiorno" class="scrollDiv" > 
      <asp:GridView ID="grdChiamateGiorno" runat="server" AutoGenerateColumns="False" DataKeyNames="idchia,dalle,alle,idstato" DataSourceID="SqlDataSource1" AllowSorting="True" CssClass="tablestyle" > 
       <AlternatingRowStyle BackColor="WhiteSmoke" CssClass="altrowstyle"/> 
       <FooterStyle BackColor="#CCCC99" ForeColor="Black" /> 
       <HeaderStyle Font-Bold="True" BackColor="LightGray" HorizontalAlign="Center" VerticalAlign="Middle" Height="30px" CssClass="headerstyle" /> 
       <RowStyle CssClass="rowstyle" /> 

       <Columns> 
        <asp:BoundField DataField="tecnico" HeaderText="Tecnico" SortExpression="tecnico" /> 
        <asp:BoundField DataField="ragsoc" HeaderText="Cliente" SortExpression="ragsoc" ItemStyle-Width="30%" /> 
        <asp:BoundField DataField="rdescr" HeaderText="Richiesta" SortExpression="rdescr" ItemStyle-Width="50%" /> 
        <asp:BoundField DataField="prior" HeaderText="Priorità" SortExpression="prior" ItemStyle-HorizontalAlign="Center" > 
        <ItemStyle HorizontalAlign="Center" /> 
        </asp:BoundField> 
        <asp:BoundField DataField="app" HeaderText="Appuntamento" SortExpression="app" ItemStyle-HorizontalAlign="Center" > 
        <ItemStyle HorizontalAlign="Center" /> 
        </asp:BoundField> 
        <asp:BoundField DataField="assremota" HeaderText="Remoto" SortExpression="assremota" ItemStyle-HorizontalAlign="Center" > 
        <ItemStyle HorizontalAlign="Center" /> 
        </asp:BoundField> 
        <asp:BoundField DataField="idchia" HeaderText="idchia" InsertVisible="False" ReadOnly="True" SortExpression="idchia" Visible="false" /> 
        <asp:BoundField DataField="tipo" HeaderText="tipo" SortExpression="tipo" Visible="false" /> 
        <asp:BoundField DataField="rforo" HeaderText="rforo" SortExpression="rforo" Visible="false" /> 
        <asp:BoundField DataField="dalle" HeaderText="dalle" SortExpression="dalle" Visible="false" /> 
        <asp:BoundField DataField="alle" HeaderText="alle" SortExpression="alle" visible="false"/> 
        <asp:BoundField DataField="idstato" HeaderText="idstato" SortExpression="idstato" visible="false"/> 
        <asp:TemplateField HeaderText=""> 
         <ItemTemplate> 
    <div class="clearing"></div> 

<div class="tooltip"> 
    <i id="collapse3" runat="server" class="fa fa-caret-square-o-left fa-lg" aria-hidden="true"></i> 
    <span class="tooltiptext" id="litGestioneGiorn" runat="server"></span> 
    </div> 
         </ItemTemplate> 

        </asp:TemplateField> 

       </Columns> 

      </asp:GridView> 
       </div> 

      <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:dbVulcanoConnectionString %>" SelectCommand="select utenti.nome as tecnico, Richieste.IDRic as idchia, richieste.descr as rdescr, ISNULL(richieste.assistremota,0) as assremota, Clienti.RagSociale as ragsoc, richieste.descr as descr, richieste.priorita as prior, richieste.tipo as tipo, richieste.rforologio as rforo, ISNULL(statoric.appuntamento,0) as app, ISNULL(statoric.oradalle,0) as dalle, ISNULL(statoric.oraalle,0) as alle, statoric.ID as idstato from clienti inner join richieste on clienti.idcliente = richieste.rfcliente inner join statoric on statoric.rfric = richieste.idric inner join stati on stati.idstato = statoric.rfstato inner join utenti on utenti.idutente=statoric.rftecnico where statoric.attuale = 1 and statoric.rfstato &lt; 14 and statoric.dataass = @data and (@tecnico = -1 or statoric.rftecnico = @tecnico) order by app desc, oraalle asc, prior desc"> 
       <SelectParameters> 
        <asp:ControlParameter ControlID="txtData" DefaultValue="17/01/2017" Name="data" PropertyName="Text" Type="DateTime" /> 
        <asp:ControlParameter ControlID="ddlUtenti" DefaultValue="0" Name="tecnico" PropertyName="SelectedValue" Type="Int32" /> 
       </SelectParameters> 
      </asp:SqlDataSource> 
      <p> 
       &nbsp; 
      </p> 
      <table border="0" cellspacing="0" cellpadding="0" style="width: 100%"> 
    <tr> 
     <td></td> 
     <td align="right"> 
      <input runat="server" name="Stampa" type="button" class="gbutton" id="btnStampa" value="Stampa" onclick="printdiv('divChiamateGiorno');" /> 
     </td> 
    </tr> 
</table> 
     </div> 
    </div> 
</div> 
+0

На своей странице указано, что с v5.1.0 «Событие смены триггера при обновлении значения поля». Кажется, это не срабатывает в вашем коде. Вы можете попробовать вручную запустить событие изменения, используя событие onChange или событие триггера. – Obsidian

+0

Да, но как я могу сделать простой ответ? Тот же результат, что и Autopostback = true. –

ответ

0

обратной передачи, вероятно, не стреляли, потому что контроль не знает, что содержимое изменилось, и это событие изменения, которое заставит элемент управления выполнить обратную передачу.

Я нету рассмотрел плагин полностью, но в JQuery UI DatePicker Я использую команду onslect сделать обратный вызов и изменения триггера события вручную:

$('.calendarTxt').datepick({ 
    onSelect: function (dateText) { 
     $(this).trigger('change'); 
    } 
    }); 

Пример

$(document).ready(function() { $('#txtData').datepick({ 
    dateFormat: 'dd/mm/yyyy', 
    onSelect: function (dateText) { 
    $(this).trigger('change'); 
    } 
}); 

Наконец, если вам используйте класс css вместо id, который вы можете вызвать этот код со страницы мастер-скрипта. Это означает, что вам не нужно вводить код в каждый элемент управления ввода даты, который вам нужно просто добавить в класс.

+0

Так просто! Работает! Спасибо за подсказку css. –

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

  • Нет связанных вопросов^_^