4
2つのTimePickerウィジェットを含むモーダルウィンドウを起動するページがあります。最初のモーダルを開くと、すべてが機能します。それも再開することができます。別のモーダルを開くときしかし、私は、コンソールのエラーが表示されます。ここではYii2 Kartik TimePicker - 複数のモーダルウィンドウで使用できない
Uncaught TypeError: Cannot read property 'apply' of undefined
at HTMLInputElement.eval (eval at globalEval (jquery.js:343), <anonymous>:851:29)
at Function.each (jquery.js:365)
at jQuery.fn.init.each (jquery.js:137)
at jQuery.fn.init.$.fn.timepicker (eval at globalEval (jquery.js:343), <anonymous>:841:21)
at HTMLDocument.eval (eval at globalEval (jquery.js:343), <anonymous>:3:107)
at fire (jquery.js:3187)
at Object.add [as done] (jquery.js:3246)
at jQuery.fn.init.jQuery.fn.ready (jquery.js:3496)
at eval (eval at globalEval (jquery.js:343), <anonymous>:1:18)
at eval (<anonymous>)
は、エラーの原因となったコードです:ここでは
//TIMEPICKER PLUGIN DEFINITION
$.fn.timepicker = function (option) {
var args = Array.apply(null, arguments);
args.shift();
return this.each(function() {
var $this = $(this),
data = $this.data('timepicker'),
options = typeof option === 'object' && option;
if (!data) {
$this.data('timepicker', (data = new Timepicker(this, $.extend({}, $.fn.timepicker.defaults, options, $(this).data()))));
}
if (typeof option === 'string') {
data[option].apply(data, args); // This is the line that causes problems
}
});
};
は、ウィジェットのためのPHPコードです:
<?= $form->field($model, 'TimeEntryStartTime',[
'showLabels'=>false
])->widget(TimePicker::classname(),[
'options' => ['placeholder' => 'Enter time...'],
]); ?>
ここにはモーダルを起動するjavascriptがあります(それぞれに似ています):
// Modal view for Monday
$('#modalButtonMonday').click(function(){
// get the click of the create button
$('#modalMonday').modal('show')
.find('#modalContentMonday')
.load($(this).attr('value'));
});
$('#modalMonday').on('hidden.bs.modal', function (e) {
// reload page when modal closed
location.reload(true);
});
console.log(data [option])の内容は何ですか? – bxN5
未定義です。 –
スクリプトはデータを得ることができません魔女の行で見つけるためにダンプを続ける必要があります、あなたは両方のモーダルのためのIDまたはクラスが正常であれば問題が現れることがあります – bxN5