2017-12-14 3 views
0

更新パネルに「txtExploitDate」という名前のテキストボックスがあります。ボタンをクリックすると、昨日の日付としてテキストボックスのデフォルト値が設定されています。 datepickerとtextboxをバインドするjqueryコードの下に書いてあります。しかし、私がdatepickerから日付を選択すると、それはテキストボックス内の日付を2秒間にrefletingし、デフォルトの日付に再び変更します。私のテキストボックスが更新パネルにはありませんでしたが、その時は私は更新パネルで私のテキストボックスを入れて、私のjqueryのコードを変更しポストバック問題があったとき、私は早くそれを使用していたとして テキストボックスのテキストがjquery datepickerとバインドされてヌル値になる

<script type="text/javascript"> 
    //$(document).ready(function DatePickerExploitDate() { 
    // $(function() { 
    //  $("#txtExploitDate").datepicker(); 
    // }); 
    //}); 
    $(document).ready(function() { 
     ApplyDatePicker(); 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(ApplyDatePicker); 
    }); 

    function ApplyDatePicker() { 
     $('#txtExploitDate').datepicker(); 
    } 
</script> 

はコメントコードを無視してください。

私にこれを助けてください。

答えて

0

これは、JQueryのdatepickerがプラグインを使用するすべてのコントロールに一意のIDを使用するためです。これは、ほとんどのJQueryプラグインがイベントを制御するために行う処理です。更新パネルが更新されると、これらの特別な固有IDはもはやどこにも向いていません。

ASPスニペットから、この記事で説明し、解決策を確認してください:https://www.aspsnippets.com/Articles/jQuery-DatePicker-not-working-inside-ASPNet-AJAX-UpdatePanel-Partial-PostBack.aspx

解像度は更新パネルをリフレッシュしたときにプラグインの再実行を持つことによって可能になります。

私は個人的な視点として、非常に扱いにくい技術であるため、アップデートパネルなしのソリューションを見てみるべきだと考えています.DOMを使いこなすときに壊れてしまい、AJAX呼び出しを使用するより良い方法がありますJQueryでも

関連する問題