0

ajax 呼び出しの前に、日付ピッカーのコードを次のように記述します。

<script type="text/javascript">
    $(function() {
        $("#birthdate").focus(function() {
            $(this).datepicker().datepicker( "show" )
        });
    });
    $(function() {
        $("#joindate").focus(function() {
            $(this).datepicker().datepicker( "show" )
        });
    });
    </script>           

この関数は、onfocus イベントの後に呼び出されます。

<tr>
              <td align="left">
                <input type="text" id="birthdate"  name="birthdate"  onfocus="$('#birthdate').datepicker({changeMonth: true,changeYear: true,dateFormat: 'dd/mm/yy',defaultDate: '-20y -1m -247d',yearRange: '-50:+0'});"   tabindex="14"  style="width:300px; "   value="<? if($get_emp!='0')echo $employee_birth; ?>" /><span style="color:#F00;">*</span></td>                                       

    <td>
        <input type="text" name="joindate" id="joindate" onfocus="$('#joindate').datepicker({changeMonth: true,changeYear: true,dateFormat: 'dd/mm/yy',defaultDate: '-3y -1m -247d',yearRange: '-50:+0'});"  tabindex="15" style="width:300px; " value="<? if($get_emp!='0')echo $employee_join; ?>"/><span style="color:#F00;">*</span>
        </td>
     </tr>

ajax呼び出しの後、同じコードを呼び出しますが、最初のクリックでは開きませんが、2回目のクリックで開きますか? この問題を解決するのを手伝ってください........

4

2 に答える 2

0

この JavaScript を使用します。datepicker()一度だけ初期化する必要があります

$(function() {
    $('#birthdate').datepicker({changeMonth: true,changeYear: true,dateFormat: 'dd/mm/yy',defaultDate: '-20y -1m -247d',yearRange: '-50:+0'});
    $("#joindate").datepicker({changeMonth: true,changeYear: true,dateFormat: 'dd/mm/yy',defaultDate: '-3y -1m -247d',yearRange: '-50:+0'});
    $("#birthdate, #joindate").focus(function() {
        $(this).datepicker( "show" )
    });
});

入力タグから focus 属性を削除しました:

<input type="text" id="birthdate"  name="birthdate" tabindex="14"  style="width:300px; "  value="<? if($get_emp!='0')echo $employee_birth; ?>" /><span style="color:#F00;">*</span></td>                                       

<input type="text" name="joindate" id="joindate" "  tabindex="15" style="width:300px; " value="<? if($get_emp!='0')echo $employee_join; ?>"/><span style="color:#F00;">*</span>
于 2012-07-31T13:17:20.057 に答える
0

代わりに次のようにしてみてください。

$(document).ready(function(){
    $("#joindate").datepicker({
        // Options and methods here
    });
    $("#joindate").focus(function(){
          $("#joindate").datepicker("show");
    });
    $("#joindate").focus();
});

「onSelect」イベントで $.post() を実行することもできます。フォームの送信に関連付ける代わりに、日付の実際のクリック イベントに日付を投稿する必要があります。

于 2012-07-31T13:22:55.693 に答える