javascript - 让 Datepicker 在 cshtml 中工作

标签 javascript jquery razor

我想弄清楚为什么日期选择器不适合我。这是在 cshtml View 中。我正在为 datepicker 函数提供正确的 id,但它不起作用。

页面来源:

<div class="editor-label">
        <label for="EFFECTIVE_DATE1">EFFECTIVE_DATE1</label>
    </div>
    <div class="editor-field">
        <input class="text-box single-line" id="EFFECTIVE_DATE1" name="EFFECTIVE_DATE1" type="text" value="" />
        <span class="field-validation-valid" data-valmsg-for="EFFECTIVE_DATE1" data-valmsg-replace="true"></span>
    </div>
 <script>
     $(function () {
         $("#EFFECTIVE_DATE1").datepicker();
     });
</script>

查看代码

<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<head/>

 <div class="editor-label">
        @Html.LabelFor(model => model.EFFECTIVE_DATE1)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.EFFECTIVE_DATE1)
        @Html.ValidationMessageFor(model => model.EFFECTIVE_DATE1)
    </div>
 <script>
     $(function () {
         $("#EFFECTIVE_DATE1").datepicker();
     });
</script>

更新:这是整个页面

@model BillingApp.Models.EFT_INFORMATION

@{
ViewBag.Title = "Create";
Layout = "../Shared/Layout2.cshtml";
}
@section featured2 {
<!DOCTYPE HTML>
<html><head><title>Combined App</title><meta name="description" content="website description">        <meta name="keywords" content="website keywords, website keywords"><meta http-equiv="content-type" content="text/html; charset=windows-1252"><link rel="stylesheet" type="text/css" href="../../Content/themes/style.css" title="style">
<div id="logo"><a href="@Url.Action("Index", "Home")">
<img src="@Url.Content("\\Content\\images\\logo.jpg")"/></a></div>
    <div class="hidden">
<script type="text/javascript">
    <!--//--><![CDATA[//><!--
var images = new Array()
function preload() {
    for (i = 0; i < preload.arguments.length; i++) {
        images[i] = new Image()
        images[i].src = preload.arguments[i]
    }
}
preload(
    "\\Content\\images\\logo.jpg"
)
//--><!]]>
</script>
</div>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head><body>
<div id="main">
<div id="header">
  <div id="logo">
    <div id="logo_text">
      <h1><a href="index.html"><span class="logo_colour"></span></a></h1>
      <h2></h2>
    </div>
  </div>
  <div id="menubar">
    <ul id="menu">
   <li>@Html.ActionLink("Home", "Index", "Home")</li>
   <li>@Html.ActionLink("About", "About", "Home")</li>
   <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
   <li>@Html.ActionLink("Help", "Help", "Home")</li> 
    </ul></div>
</div>
<div id="site_content">     
  <div id="content">

<style type="text/css">
p { display: inline }
p.msg {
    color: red;
    display: inline;
}
</style>
<h1>Welcome to the EFT Information Creation Page!</h1>
      <p>&#8202Please fill out the fields below to create a new entry and row of data.</p><br />    <br />

@using (Html.BeginForm())
{
@Html.ValidationSummary(true){
@*
    <div class="editor-label">
        @Html.LabelFor(model => model.EEID)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.EEID)
        @Html.ValidationMessageFor(model => model.EEID)
    </div>*@

    <div class="editor-label">
        @Html.LabelFor(model => model.TABLE_NUMBER1)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.TABLE_NUMBER1)
        @Html.ValidationMessageFor(model => model.TABLE_NUMBER1)
    </div>

     <div class="editor-label">
        @Html.LabelFor(model => model.PNTR_MAX)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.PNTR_MAX)
        @Html.ValidationMessageFor(model => model.PNTR_MAX)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.BANK_ROUTING_NUMBER)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.BANK_ROUTING_NUMBER)
        @Html.ValidationMessageFor(model => model.BANK_ROUTING_NUMBER)
    </div>
<div class="editor-label">
@Html.LabelFor(model => model.EFFECTIVE_DATE1)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.EFFECTIVE_DATE1)
@Html.ValidationMessageFor(model => model.EFFECTIVE_DATE1)
</div>
<script>
 $(function () {
     $("#EFFECTIVE_DATE1").datepicker();
 });
</script>
    <div class="editor-label">
        @Html.LabelFor(model => model.TAX_ID)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.TAX_ID)
        @Html.ValidationMessageFor(model => model.TAX_ID)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.BANK_NAME)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.BANK_NAME)
        @Html.ValidationMessageFor(model => model.BANK_NAME)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.COMPANY_NAME1)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.COMPANY_NAME1)
        @Html.ValidationMessageFor(model => model.COMPANY_NAME1)
    </div><br />
    <p>
        <input type="submit" value=" Create "/>   

    </p><br /><br /><br /><br /><br /><br /><br /><br /><br />
<div>
@Html.ActionLink("Back to List", "EFTInformation", "Billing")
</div>
}
<img class="logo" src="../../Content/images/logo.jpg">
<style type="text/css">
img.logo {
display: block;
margin-top: -24px;
margin-left: 351px;
margin-right: 351px;
height: 50px;
width: 135px;
}
</style>
      <style type="text/css">
#username {
    position: absolute;
    top:172px;
    left: calc(50% + 268px);
}
</style>
<div id="username"><p style="color: rgb(255,251,241);">Hello, @User.Identity.Name!</p></div>
</div></div>
<div id="content_footer"></div>
<div id="footer">
</div>
</body></html>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}

更新:除日期选择器工作所需的元素外,注释掉了大部分 View 。它仍然无法正常工作。

@model BillingApp.Models.EFT_INFORMATION

@{
ViewBag.Title = "Create";
Layout = "../Shared/Layout2.cshtml";
}
@section featured2 {

<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head><body>

@using (Html.BeginForm())
{
@Html.ValidationSummary(true)


 <div class="editor-label">
        @Html.LabelFor(model => model.TABLE_NUMBER1)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.TABLE_NUMBER1)
        @Html.ValidationMessageFor(model => model.TABLE_NUMBER1)
    </div>

     <div class="editor-label">
        @Html.LabelFor(model => model.PNTR_MAX)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.PNTR_MAX)
        @Html.ValidationMessageFor(model => model.PNTR_MAX)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.BANK_ROUTING_NUMBER)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.BANK_ROUTING_NUMBER)
        @Html.ValidationMessageFor(model => model.BANK_ROUTING_NUMBER)
    </div>
<div class="editor-label">
@Html.LabelFor(model => model.EFFECTIVE_DATE1)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.EFFECTIVE_DATE1)
@Html.ValidationMessageFor(model => model.EFFECTIVE_DATE1) 
</div>
<script>
 $(function () {
     $("#EFFECTIVE_DATE1").datepicker({ format: 'yyyy-MM-dd' });
 });
</script>
    <div class="editor-label">
        @Html.LabelFor(model => model.TAX_ID)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.TAX_ID)
        @Html.ValidationMessageFor(model => model.TAX_ID)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.BANK_NAME)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.BANK_NAME)
        @Html.ValidationMessageFor(model => model.BANK_NAME)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.COMPANY_NAME1)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.COMPANY_NAME1)
        @Html.ValidationMessageFor(model => model.COMPANY_NAME1)
    </div><br />
    <p>
        <input type="submit" value=" Create "/>   

    </p><br /><br /><br /><br /><br /><br /><br /><br /><br />
<div>
@Html.ActionLink("Back to List", "EFTInformation", "Billing")
</div>
}
}
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}

最佳答案

你的 HEAD 配置错误 -

<head>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<head/>  <----- This line

 <div class="editor-label">
        @Html.LabelFor(model => model.EFFECTIVE_DATE1)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.EFFECTIVE_DATE1)
        @Html.ValidationMessageFor(model => model.EFFECTIVE_DATE1)
    </div>
 <script>
     $(function () {
         $("#EFFECTIVE_DATE1").datepicker();
     });
</script>

那一行应该是</head>

我的工作代码


索引.cshtml

@model JqueryUIProject.Models.FakeModel

@{
    ViewBag.Title = "title";
}
<head>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
</head>

<div class="editor-label">
    @Html.LabelFor(model => model.EFFECTIVE_DATE1)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.EFFECTIVE_DATE1)
    @Html.ValidationMessageFor(model => model.EFFECTIVE_DATE1)
</div>
<script>
    $(function () {
        $("#EFFECTIVE_DATE1").datepicker();
    });
</script>

假模型.cs

using System;

namespace JqueryUIProject.Models
{
    public class FakeModel
    {
        public DateTime EFFECTIVE_DATE1;
    }
}

HomeController.cs

using System;
using System.Collections.Generic;
using System.Web;
using System.Linq;
using System.Web.Mvc;

namespace JqueryUIProject.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }
    }
}

关于javascript - 让 Datepicker 在 cshtml 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26361876/

相关文章:

javascript - After Effects Extendscript - 更改 addlight 的中心点

javascript - *this* 相对于 event.target 的优势

jquery - 重复的jquery ui问题

javascript - 如何使用 jquery 激活特定选项卡?

javascript - moment.js 如何处理赤纬分钟和小时?

razor - 如何在 Asp.Net Core 中的 Razor 类库中使用本地化

c# - 由于不区分大小写的 URL 和默认值,如何避免 ASP.NET MVC 中的重复内容?

c# - 实现接口(interface)的 Blazor 组件列表

javascript - 循环遍历数组中的对象

javascript - 如何确定 if::before 应用于元素?