0

日時ピッカーに問題があります。

検索結果としてview.htm読み込まれるJavaScript コードがあります。view_part.htm

view_part.htm、jQuery UI を使用して日時ピッカーを作成しましたが、表示されませんでした。で jQuery コードを書きましたが、view.htmまだ機能しません。

これは私のコードです:

for(i=0;i<sum;i++){
    $("#TGL_APPROVE_"+i).datepicker();
    $("#TGL_APPROVE_"+i).datepicker( "option", "dateFormat", "yy-mm-dd" );
}

これは私の見解です:

http://i47.tinypic.com/xu452.jpg

4

5 に答える 5

0

FireFox用のFirebugプラグインを使用して、JavaScriptエラーを確認してください。

ただし、問題を解決するために、これらの入力にクラスを指定するとします。「hasDatePicker」としましょう。

次に、AJAXを介してコンテンツをロードした後(またはiFrameを使用していますか?)

$(".hasDatePicker").datepicker( "option", "dateFormat", "yy-mm-dd");
于 2012-09-26T10:36:24.987 に答える
0

datapickerプラグインをサポートする必要があるすべてのファイルにクラスを追加します。そして、あなたはより簡単な方法でそれを行うことができるでしょう:

$(function() {
   $(".datapicker").datepicker();
 }

これはdocument.ready()のショートカットであるため、ページ全体が読み込まれると、データピッカーがバインドされます

于 2012-09-26T10:36:25.647 に答える
0

view_part.htm をどのように呼び出していますか? 私はAJAXで仮定していますか?

はいの場合 - ajax コールバックで、または view_part.htm が完全にロードされたら、datepicker() を呼び出す必要があります。たとえば、view_part で:

<script>
$(function(){
for(i=0;i<sum;i++){
    $("#TGL_APPROVE_"+i).datepicker();
    $("#TGL_APPROVE_"+i).datepicker( "option", "dateFormat", "yy-mm-dd" );
}
});
</script>
于 2012-09-26T10:38:37.270 に答える
0

view_part.html のコンテンツが実際に DOM に入る前に datepicker をバインドしているため、問題が発生しているようです。

あなたがする必要があるのは、それが(AJAX経由で)ロードされてDOMに挿入された後にバインドすることです。


アップデート

$("#cont_list").load('<?=HOME?><?=APPID?>/cont_list?no_req={$row_request.NO_REQU‌​‌​EST} #list', function(data) {

   // bind datepicker here. 
   // Ensure 'sum' has a value before doing so.
   for(var i=0;i<sum;i++){
      $("#TGL_APPROVE_"+i).datepicker();
      $("#TGL_APPROVE_"+i).datepicker( "option", "dateFormat", "yy-mm-dd" );
   }
}); 

さらに良いことに、datepicker をバインドするすべての要素にクラスを与えることができれば、より簡単になります。たとえば、class="attachdp"これらの要素に指定する場合、forループを次のように置き換えます。

$(".attachdp').datepicker({ dateFormat: "yy-mm-dd" });
于 2012-09-26T10:34:43.773 に答える
0

ここで変数が何を参照しているのかわかりませんがisumコメントのコードに従って、次のようなことを行う必要があります。

$("#cont_list").load('<?=HOME?><?=APPID?>/cont_list?no_req={$row_request.NO_REQU‌​EST} #list', function(data) { 
    for(i=0;i<sum;i++){
        $("#TGL_APPROVE_"+i).datepicker( "option", "dateFormat", "yy-mm-dd" );
    }
});

ここでのコールバックは、要素が DOM に追加されるたびに、datepickerが要素にバインドされるようにします。

于 2012-09-26T10:46:30.480 に答える