【问题标题】:jQuery Mask-Money not working MVC5jQuery Mask-Money 不工作 MVC5
【发布时间】:2023-03-04 20:02:01
【问题描述】:

我正在使用 ASP.NET 项目在 MVC5 中工作,所以我想从那里实现 MaskMoney jQuery Mask Money

首先我下载 jquery 文件并添加到我的包中

  bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js",
                  "~/Scripts/jquery.maskMoney.js"
                  ));

所以我在布局中调用它

@Scripts.Render("~/bundles/jquery")

最后在我看来,我在文件末尾使用@script 部分调用它:

   <script>
        $(function () {
        $('#Total').maskMoney();
    })
   </script>

在我的编辑中,我使用 id 来识别它

@Html.EditorFor(model => model.Total, new { htmlAttributes = new { @class = "form-control", @type = "number",@id="Total", @min = "0", @Value="",  @required = "required" } }) 

但是当我加载页面时,什么都没有发生,我做错了什么?

【问题讨论】:

  • 可能不相关,但首先删除除 @class = "form-control" 之外的所有 html 属性 - id 已经是 "Total",你不应该覆盖 value 属性,并且在 MVC 中 required 应该由[Required] 属性处理,并且您不想要type="number"(您想要插件的默认文本框)

标签: javascript c# jquery asp.net-mvc


【解决方案1】:

尝试将脚本放入document.ready 函数中:

<script>
    $(document).ready(function() {
        $('#Total').maskMoney();
    });
</script>

【讨论】:

  • 它是否放在您的@Scripts.Render("~/bundles/jquery") 之后?如果您查看浏览器中的 F12 开发人员工具,脚本加载时是否没有错误?
  • 您能否在JSFiddle 中重现该问题?
  • 我试过了,但也没有用。 jsfiddle-Mask-Money
  • 我已经更新了 JSFiddle 以工作,我不得不粘贴 MaskMoney 代码,因为它不是从 GitHub 读取的。 jsfiddle.net/zp29jt6s/4 不过对你最初的问题没有帮助。确保您没有收到任何控制台错误。
  • 另外,尝试输入text而不是数字。
猜你喜欢
  • 2018-09-28
  • 1970-01-01
  • 2017-01-12
  • 2015-03-08
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
  • 2020-04-09
相关资源
最近更新 更多