我是Web编程的新手。我在单页应用程序中使用Bootstrap DateTimePicker模块,并且每当我在引用DateTimePicker的页面上注入一些HTML时,都会在Firefox / Firebug中收到以下错误消息。
TypeError: $this.data(...) is undefined. jquery->...eval(line 24, col 6)
Run Code Online (Sandbox Code Playgroud)
DateTimePicker组件可以工作,但始终会产生此错误。
HTML(玉)
.datetimepicker.input-group.date.mb-sm(data-date-format="YYYY-MM-DD",data-pick-time="false")
input#accdd.form-control(type='text',value=(child.dob),size="8")
span.input-group-addon
span.fa.fa-calendar
script(src='app/js/dtp.js')
Run Code Online (Sandbox Code Playgroud)
这是每次需要使用组件时都必须包含的脚本。这是我的另一个问题。为什么每次使用DateTimePicker组件时都需要包含此代码?这些都是在启动时加载的,但是每次在此组件中注入新的HTML时,我都需要包含此内容。
(function($, window, document){
'use strict';
var Selector = '.datetimepicker';
$(Selector).each(function() {
var $this = $(this),
options = $this.data(); // allow to set options via data-* attributes
$this.datetimepicker($.extend(
options,
{ // support for FontAwesome icons
icons: {
time: 'fa fa-clock-o',
date: 'fa fa-calendar',
up: 'fa fa-arrow-up',
down: 'fa fa-arrow-down'
}
}));
// Force a dropdown hide when click out of the …Run Code Online (Sandbox Code Playgroud) 试图使用Robin Herbots Inputmask模块,但无法正常工作。查看所有其他类似的帖子,这是确保docment.ready函数具有对inputmask()的调用的常见问题,但这对我来说很好。
剧本
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
<script src="/js/jquery.inputmask.js">
<script src="/js/mainReady-client.js">
<script src="/js/bootstrap.min.js">
Run Code Online (Sandbox Code Playgroud)
mainReady-client.js
$(document).ready(function() {
$(":input").inputmask();
});
Run Code Online (Sandbox Code Playgroud)
的HTML
<td>
<input value="10" data-inputmask="'mask': '999'">
</td>
Run Code Online (Sandbox Code Playgroud)
我试过了:
$(document).ready(function() {
$("#currIN").inputmask("9999");
});
Run Code Online (Sandbox Code Playgroud)
或(我想要的真实货币-货币)...
$(document).ready(function() {
$("#currIN").inputmask("'alias': 'numeric', 'groupSeparator': ',', 'autoGroup': true, 'digits': 2, 'digitsOptional': false, 'prefix': '$ ', 'placeholder': '0'");
});
Run Code Online (Sandbox Code Playgroud)
然后:
<td>
<input value="10" id="currIN">
</td>
Run Code Online (Sandbox Code Playgroud)
看起来很简单,但是什么也没发生。我必须按顺序装载东西,但一切看起来都不错。谢谢你的帮助。干杯。