この質問と解決策を見つけましたが、テキストボックスではなく、グリッドビューフィールドを扱っています。ボタンをクリックするとjQueryUIdatePickerをトリガーし、無効な入力フィールドに結果を送信します
TemplateFieldを使用してaspGridViewに開始日列があり、ImageButtonがクリックされた場合、jqueryuidatepickerをトリガーしたいと思います。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns=False allowsorting = True
SkinID=FACGrid onload="GridView1_Load" onsorting="GridView1_Sorting"
onrowdatabound="GridView1_RowDataBound"
onrowediting="GridView1_RowEditing"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowupdating="GridView1_RowUpdating">
<Columns>
<asp:TemplateField HeaderText="Start Date" SortExpression="start_dt">
<EditItemTemplate>
<asp:Label ID="StDt" runat="server" CssClass="StartDate" Text='<%# Eval("start_dt", "{0:d}") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="StDt" runat="server" Text='<%# Bind("start_dt", "{0:d}") %>'></asp:Label>
<asp:ImageButton ID="startdtimage" CssClass="StartDateImg" runat="server" ImageUrl="../images/pencil.gif" Visible='<%# HasUpdateStartDateRole() %>' Width="18px" Height="18px" />
</ItemTemplate>
</asp:TemplateField>
上記の質問に基づいて、私はこれを持っています。これを行ごとに機能させるには何が必要ですか?
<script type="text/javascript">
$(document).ready(function() {
$(".ArrivalDate").datepicker();
$(".StartDateImg").click(function () {
$(".StartDate").datepicker("show");
});
});
</script>
採用日が記載された非表示の列もあります。採用日以降の日付のみを許可するように日付ピッカーを設定したいと思います。または、日付を選択した後、それが採用日より前でないことを確認します。
****編集****画像ボタンでモーダルダイアログを開き、行の開始日と採用日を渡す方が簡単でしょうか?次に、日付を確認して保存するための[更新]ボタンがあります。しかし、私もそれを行う方法がわかりません。
****編集****以下の@MikiShahのソリューションを使用すると、日付ピッカーが表示されますが、選択した日付をその行の開始日フィールドに割り当てる方法がわかりません。その行の開始日フィールドを開いたときに現在選択されている日付。その行のhire_dateを使用して、検証またはdatepickerで使用可能な日付を制限します。