2014-10-09 19 views
2

我有這個惱人的問題datepicker。 我正在使用MVC5,Bootstrap 3.2,jquery 1.10.2和jquery-ui-1.11.1。 我在從BS模式調用它,當我告訴模態第二次,在日期選擇器停止工作,我嘗試了幾乎所有的局部視圖2個datepickers,一起來看看:datepicker在partialview工作一次mvc5

JS代碼

<script type="text/javascript"> 
    (function() { 
     $("#EDate").datepicker(); 
     $("#RDate").datepicker({ minDate: "-1d" }); 

     $("#divm").on("hidden.bs.modal", function() { 
      $(".datepicker").datepicker("destroy"); 
      $(".datepicker").removeClass("hasDatepicker").removeAttr('id'); 
     }) 
    })(); 
</script> 

剃刀代碼

@Html.EditorFor(model => model.EntryDateOperation, new { htmlAttributes = new { id = "EDate", @class = "form-control datepicker" } }) 
@Html.EditorFor(model => model.EntryDateOperation, new { htmlAttributes = new { id = "RDate", @class = "form-control datepicker" } }) 

自舉模式

<div id="divm" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="Embarcaciones" aria-hidden="true"> 
    <div class="modal-dialog" style="text-align:right"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
       <div style="text-align:left"> 
        <h4 class="modal-title" id="mTitulo">Nueva Embarcaci&oacute;n</h4> 
       </div> 
      </div> 
      <div id="mEdit" class="modal-body" style="width:100%; text-align:center"> 
       @{Html.RenderPartial("_myclass", Model.Myclass);} 
      </div> 
     </div> 
    </div> 
</div> 

和我說的z-index對jQuery UI的CSS

.ui-datepicker { 
    width: 17em; 
    padding: .2em .2em 0; 
    display: none; 
    z-index: 9999999 !important; 
} 

正如你可以看到我已經嘗試過幾乎一切,但我不知道還有什麼我可以做,謝謝任何形式的幫助

+0

您在模式隱藏時銷燬所有日期選擇器,但僅在啓動時創建它們一次。當然,它不會再工作。需要時重新安裝日期選擇器。 ()# – 2014-10-09 14:05:57

+0

我試過這個,沒有什麼: – Lebarros 2014-10-09 14:56:18

+0

$(「#divm」)。(「show.bs.modal」,function(){ $(「#EDate」)。datepicker(); $ RDate「)。datepicker({minDate:」-1d「}); }); – Lebarros 2014-10-09 14:56:36

回答

0

您正在從元素中刪除id屬性,因此您無法再次找到它們來重新連接datepicker。獲取的removeAttr('id') ID:

http://jsfiddle.net/TrueBlueAussie/uhpxcm4j/15/

$(function() { 
    $("#divm").on("show.bs.modal", function() { 
     console.log("show.bs.modal"); 
     $("#EDate").datepicker(); 
     $("#RDate").datepicker({ 
      minDate: "-1d" 
     }); 
    }); 

    $("#divm").on("hidden.bs.modal", function() { 
     console.log("hidden.bs.modal"); 
     $("#EDate,#RDate").datepicker("destroy").removeClass('datepicker').removeClass("hasDatepicker"); 
    }); 

    $("#nuevo").click(function(){ 
     $("#divm").modal("show").show(); 
    }); 

}); 

注意我做了修改,只是爲了得到它在撥弄工作。

+0

Nop,仍然沒有任何東西:( – Lebarros 2014-10-09 16:00:21

+0

它只是最初的模態顯示,是愚弄你1)點擊nuevo。選擇字段。日期選取器出現。 2)關閉模式3)點擊nuevo並再次選擇字段。日期選擇器再次出現。這都是因爲我們沒有JSFiddle中的所有Bootstrap。 – 2014-10-09 16:01:26

+0

我正在上傳視頻,所以你可以看到我的問題,因爲我按照這封信所有你的指示,我什麼都沒有:(我真的讚賞你的幫助 – Lebarros 2014-10-09 16:17:20