0

日付入力にブートストラップ日付ピッカー ライブラリを適用したい。バックボーンを使用しており、テンプレートがあります。私は次のコードを書いています:

 <script>
     $(document).ready(function() {
         $('#date').datepicker().on('changeDate', function(ev) {
             $('#date').val = new Date(ev.date);
         });
     });
 </script>

datepicker ライブラリも含めました。これをテンプレートに適用したい:

<script type="text/template>
    <div class="control-group">
        <label class="control-label" for="startDate">Start Date</label>
        <div class="controls">
            <input type="text" class="input-xlarge datepicker" id="startDate"  value="02/16/12" />
        </div>
    </div>
</script>

しかし、このコードは機能していません。テンプレートの外側に HTML コードを適用すると機能しますが、テンプレートでは機能しません。

どんな助けでも大歓迎です。

4

3 に答える 3

2

このコードを使用

var yourView = Backbone.view.extend({
   my_template: "#your-template",
....

render: function() {
   _.template(my_template, my_data);
setTimeout(function() {
        $('#date').datepicker()
    },0);
}
...

});

yourView.render();
于 2014-10-08T10:21:30.273 に答える
0

View.render() はビューの HTML を返していますが、まだ DOM にレンダリングされていません。したがって、テンプレートを render 関数内に置き、render() を呼び出した後にプラグインを初期化する必要があります。私はそれをテストしていませんが、これを何度も行っています... :)..だから、これはあなたにアイデアを与えるためのものです...

var yourView = Backbone.view.extend({
   my_template: "#your-template",
....

render: function() {
   _.template(my_template, my_data);
}
...

});

yourView.render();

$('#date').datepicker().on('changeDate', function(ev) {
    $('#date').val = new Date(ev.date);
});
于 2013-06-19T14:09:18.263 に答える