小编ImT*_*ode的帖子

$ this.data(...)是未定义的。如何调试?

我是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)

ajax jquery datetimepicker twitter-bootstrap

5
推荐指数
0
解决办法
3304
查看次数

jQuery.inputmask不起作用

试图使用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)

看起来很简单,但是什么也没发生。我必须按顺序装载东西,但一切看起来都不错。谢谢你的帮助。干杯。

jquery jquery-inputmask

4
推荐指数
2
解决办法
3万
查看次数