2012-11-01 59 views
0

我想生成我的日期選擇器的動態編號。在jquery函數下面顯示datetimepicker,因爲id被定義爲static。獲取日期選擇器動態編號的麻煩

$(function() { 
    var dates = $("#ContentPlaceHolder1_gvdLCStatus_txtInvoiceDate_0").datepicker(
    { 
     dateFormat: 'dd/mm/yy', 
     defaultDate: '+1w', 
     changeMonth: false, 
     numberOfMonths: 1, 
     showOn: 'both', 
     buttonImage: 'Images/calendar_month.png', 
     buttonImageOnly: true, 
     onSelect: function (selectedDate) { 
      var option = this.id == "ContentPlaceHolder1_gvdLCStatus_txtInvoiceDate_0" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"); 
      date = $.datepicker.parseDate(
         instance.settings.dateFormat || 
         $.datepicker._defaults.dateFormat, 
         selectedDate, instance.settings); 
      dates.not(this).datepicker("option", option, date); 
     } 
    }); 
}); 

我要生成的DatePicker的動態ID。以及我如何找到實際的做法。謝謝。

<asp:GridView ID="gvdLCStatus" runat="server" DataKeyNames="LCID" AutoGenerateColumns="false" 
        AllowPaging="True" PageSize="4" EmptyDataText="No Record Found" CssClass="mGrid" 
        OnPageIndexChanging="gvdLCStatus_PageIndexChanging" OnRowCommand="gvdLCStatus_RowCommand" 
        OnSelectedIndexChanged="gvdLCStatus_SelectedIndexChanged" OnRowDataBound="gvdLCStatus_RowDataBound" 
        OnRowCreated="gvdLCStatus_RowCreated"> 
        <AlternatingRowStyle CssClass="test" /> 
        <Columns> 
         <asp:TemplateField HeaderText="LC Number"> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%# Eval("LCID") %>' Visible="false"></asp:Label> 
           <a href="#" onclick="linkbtnTest('<%# "#"+Eval("LCNumber") %>')"> 
            <%# Eval("LCNumber") %></a> 
           <%-- <div id='<%# Eval("ShipmentID") %>' style="display: none;"> 
         </div>--%> 
           <div id='<%# Eval("LCNumber") %>' style="display: none;"> 
            <asp:GridView ID="gvShipmentStatus" runat="server" AutoGenerateColumns="false" DataKeyNames="ShipmentID" 
             OnRowCommand="gvShipmentStatus_RowCommand" OnRowDataBound="gvShipmentStatus_RowDataBound" 
             CssClass="mGrid"> 
             <Columns> 
              <asp:BoundField DataField="InvoiceNumber" HeaderText="Invoice Number" /> 
              <asp:BoundField DataField="InvoiceDate" HeaderText="Invoice Date" /> 
              <asp:BoundField DataField="BLNumber" HeaderText="B/L Number" /> 
              <asp:BoundField DataField="BLDate" HeaderText="B/L Date" /> 
              <asp:BoundField DataField="VesselName" HeaderText="Vessel Name" /> 
              <asp:BoundField DataField="VoyageNumber" HeaderText="Voyage Number" /> 
              <asp:BoundField DataField="DueDate" HeaderText="Due Date" /> 
              <asp:BoundField DataField="ContractedShipmentSchedule" HeaderText="Shipment Schedule" /> 
              <asp:TemplateField HeaderText="Delete"> 
               <ItemTemplate> 
                <asp:ImageButton ID="ImgShipmentDelete" runat="server" ImageUrl='<%# isDelete_img(Session["isAdmin"].ToString()) %>' 
                 Enabled='<%# isDelete(Session["isAdmin"].ToString()) %>' CommandName="DeleteShipmentRecord" 
                 CommandArgument='<%# Eval("ShipmentID") %>' AlternateText="DeleteShipmentRecord" 
                 OnClientClick="return confirm_delete();" Style='<%# delete_style(Session["isAdmin"].ToString()) %>' /> 
               </ItemTemplate> 
              </asp:TemplateField> 
              <asp:TemplateField HeaderText="Edit"> 
               <ItemTemplate> 
                <%--            <asp:ImageButton ID="ImgShipmentEdit" runat="server" ImageUrl="~/Images/edit.png" 
               CommandName="EditShipmentRecord" ImageAlign="Middle" CommandArgument='<%# Eval("ShipmentID") %>' 
               AlternateText="EditShipmentRecord" OnClientClick='linkbtnTest(<%# Eval("ShipmentID) %>)' /> 
                --%> 
                <asp:LinkButton ID="LinkButton1" runat="server" CommandName="EditShipmentRecord" 
                 CommandArgument='<%# Eval("ShipmentID")+":"+Eval("LCStatusID")%>'> 
                 <%--<asp:Label ID="Label2" runat="server" Text='<%# Eval("ShipmentID") %>' Visible="true"></asp:Label>--%> <img src="Images/edit.png" alt="Edit" /> 
                </asp:LinkButton> 
               </ItemTemplate> 
              </asp:TemplateField> 
             </Columns> 
            </asp:GridView> 
           </div> 
           <%--</div>--%> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:BoundField DataField="ContractNumber" HeaderText="Contract Number" /> 
         <asp:BoundField DataField="Amount" HeaderText="Amount" /> 
         <asp:BoundField DataField="Qty" HeaderText="Quantity" /> 
         <asp:TemplateField> 
          <ItemTemplate> 
           <a href="#" onclick="linkbtnTest('<%# "#"+Eval("LCID")%>')">Add Shipment Status</a> 
           <div id='<%# Eval("LCID") %>' style="display: none;"> 
            <table> 
             <tr> 
              <td class="td_records" style="padding-top: 5px;"> 
               Invoice Number 
              </td> 
              <td class="td_records" style="padding-top: 5px;"> 
               Invoice Date (dd/mm/yyyy) 
              </td> 
              <td class="td_records" style="padding-top: 5px;"> 
               B/L Number 
              </td> 
              <td class="td_records" style="padding-top: 5px;"> 
               B/L Date (dd/mm/yyyy) 
              </td> 
             </tr> 
             <tr> 
              <td> 
               <asp:TextBox ID="txtInvoiceNumber" runat="server"></asp:TextBox> 
              </td> 
              <td> 
               <asp:TextBox ID="txtInvoiceDate" runat="server"></asp:TextBox> 
              </td> 
              <td> 
               <asp:TextBox ID="txtBLNumber" runat="server"></asp:TextBox> 
              </td> 
              <td> 
               <asp:TextBox ID="txtBLDate" runat="server"></asp:TextBox> 
              </td> 
             </tr> 
             <tr> 
              <td class="td_records" style="padding-top: 5px;"> 
               VesselName 
              </td> 
              <td class="td_records" style="padding-top: 5px;"> 
               VoyageNumber 
              </td> 
              <td class="td_records" style="padding-top: 5px;"> 
               DueDate (dd/mm/yyyy) 
              </td> 
              <td class="td_records" style="padding-top: 5px;"> 
               ShipmntSchedule (dd/mm/yyyy) 
              </td> 
             </tr> 
             <tr> 
              <td> 
               <asp:TextBox ID="txtVesselName" runat="server"></asp:TextBox> 
              </td> 
              <td> 
               <asp:TextBox ID="txtVoyageNumber" runat="server"></asp:TextBox> 
              </td> 
              <td> 
               <asp:TextBox ID="txtDueDate" runat="server"></asp:TextBox> 
              </td> 
              <td> 
               <asp:TextBox ID="txtShipmntSchedule" runat="server"></asp:TextBox> 
              </td> 
             </tr> 
             <tr> 
              <td style="padding-top: 10px;"> 
               <asp:Button ID="btnSubmitShipment" runat="server" Text="Submit" CommandName="Select" 
                OnCommand="btnSubmitShipment_Command" CssClass="btnSubmitCSS" /> 
               <asp:Button ID="btnResetShipmentRecord" runat="server" Text="Reset" CssClass="btnSubmitCSS" /> 
              </td> 
             </tr> 
            </table> 
           </div> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField> 
          <ItemTemplate> 
           <asp:ImageButton ID="imgDelete" runat="server" ImageUrl='<%# isDelete_img(Session["isAdmin"].ToString()) %>' 
            Enabled='<%# isDelete(Session["isAdmin"].ToString()) %>' CommandName="DeleteRecord" 
            CommandArgument='<%# Eval("LCID") %>' AlternateText="DeleteRecord" OnClientClick="return confirm_delete();" 
            Style='<%# delete_style(Session["isAdmin"].ToString()) %>' /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField> 
          <ItemTemplate> 
           <asp:ImageButton ID="imgEdit" runat="server" ImageUrl="~/Images/edit.png" CommandName="EditRecord" 
            CommandArgument='<%# Eval("LCID") %>' AlternateText="EditRecord" /> 
          </ItemTemplate> 
         </asp:TemplateField> 
        </Columns> 
        <PagerStyle CssClass="pgr" /> 
       </asp:GridView> 
+0

我不明白這是什麼問題,什麼是你的問題。 – Aristos

+0

的問題是,我只是想知道如何動態地生成一個datepicker的ID即 VAR日期= $(「#ContentPlaceHolder1_gvdLCStatus_txtInvoiceDate_0」) .datepicker –

+0

這裏發生了什麼,因爲靜態定義ID,我的日期選擇器顯示在jQuery對話框中,但是當我打開一個動態的jQuery模式對話框時,th e timepicker未顯示。 –

回答

0

正如你可以使用這種選擇一個選項:

var dates = $("[id*='txtInvoiceDate']", "#<%= gvdLCStatus.ClientID %>")​ 

但最好考慮設置文本框上CssClass屬性和使用類選擇

+0

不工作,並且由於這個原因,模態對話框甚至不會打開。 :/ –

+0

將標記添加到問題 –

+0

確定也添加標記。等待。 –

0

爲什麼你的ID選擇?你爲什麼不帶班名? $(「 datebox」)。dateTimePicker的(...

+0

由於我的gridview是從數據庫綁定的,所以記錄計數得到更新。我沒有一個記錄到我的網格而不是多個記錄,所以,每個記錄都會有一個jQuery對話框。所以,當用戶打開對話框時,我想在該對話框中有一個日期選擇器,當gridview綁定多條記錄時它不會顯示。 –

0

我發現asp.net所需字段驗證驗證它的一個替代。沒有其他選擇在那裏,不得不維持的時間約束。

謝謝夥計們。