gpt4 book ai didi

Javascript语法错误不知道我做错了什么

转载 作者:行者123 更新时间:2023-12-02 15:57:56 25 4
gpt4 key购买 nike

我对 JavaScript 还很陌生,但我正在学习..但现在我陷入困境,我做了这个 JavaScript,除了语法错误

$(function () {
$(function () {
$('#date').datepicker({
showButtonPanel: true,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
firstDay: 1,
onSelect: function (dateText) {
$('#EndDate').datepicker('option', 'minDate', new Date(dateText));
}
});
});
});

if (!((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)))) {

$(function () {
$("#startTime").timePicker({
step: 15,
endTime: "23:45"
});
});
$(function () {
$("#endTime").timePicker({
step: 15,
endTime: "23:45"
});
});
$(function () {
$("#breakTime").timePicker({
step: 5,
endTime: "03:00"
});
});
}
function SetDate(dt) {
$('#date').val(dt);
}

var n = @(Model.Projects.Count);

function AddProject() {
n++;
$.ajax({
type: "GET",
url: "@(Url.Action("Project"))/" + n + "/?showDescription=false",
dataType: "html",
success: function(data) {
$('#projects').append(data);
}
});
}

在我的 AddProject 函数上,我收到了错误,但我怎么看不出可能出了什么问题?

这就是我想要使用脚本的 View 。

                            @if (ViewData["posted"] != null)
{
<div class="alert alert-success">
<strong>Inställningar sparade</strong>
</div>
}

@using (Html.BeginForm("Settings", "Reports", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="portlet light">
<div class="portlet-title">
<div class="caption">
<span class="caption-subject font-green-sharp bold uppercase">Inställngar</span>
</div>
</div>
<table class="table table-striped table-bordered table-hover">
<tr>
<td>Starttid:</td>
<td>@Html.TextBox("startTime", Model.Times.StartTime)</td>
</tr>
<tr>
<td>Sluttid:</td>
<td>@Html.TextBox("endTime", Model.Times.EndTime)</td>
</tr>
<tr>
<td>Rastlängd:</td>
<td>@Html.TextBox("breakTime", Model.Times.BreakTime)</td>
</tr>
</table>
</div>

<div id="projects">
@foreach (var data in Model.Projects)
{
Html.RenderPartial("Project", data, ViewData["vd"] as ViewDataDictionary);
var viewDataDictionary = ViewData["vd"] as ViewDataDictionary;
if (viewDataDictionary != null)
{
viewDataDictionary["id"] = (int)viewDataDictionary["id"] + 1;
}
}
</div>
<a href="javascript:AddProject()" class="btn btn-primary">Lägg till projekt</a>
<button type="submit" class="btn btn-primary">Spara</button>
}
</div>
</div>
</div>
</div>
</div>
</div>

最佳答案

Javascript 文件不支持 Razor 编译。只有 View 才能做到这一点。您不能将 Razor 放在单独的 JS 文件中。

相反,将任何必需的信息注入(inject)到 View 中(例如,作为 data- 或其他属性注入(inject)到元素中),并让 JS 从元素中(或从您设置的一些全局变量中获取这些值) View 中)。

我将为您添加一些示例...

示例 HTML(属性注入(inject)):

<a id="addProject" href="@(Url.Action("Project") + "/{id}/?showDescription=false")" class="btn btn-primary">Lägg till projekt</a>

JQuery
 $('#addProject').click(function(){
var url = $(this).attr('href');
url = url.replace("{id}", myNewId);
$.ajax({
url: url
...
});
});

我强烈建议不要将内联事件处理程序(如 onclick="")与 jQuery 一起使用,因为将事件代码与注册分开,使维护更加困难,并且不具有与 jQuery 事件相同的功能处理。

示例 HTML(全局变量注入(inject))

将此代码片段放置在 View 中

<script type="text/javascript>
var projectCount = @(Model.Projects.Count);
// or
window.projectCount = @(Model.Projects.Count);
</script>

然后您可以通过以下方式从其他 JS 文件访问 projectCount:

  var count = projectCount + 1;

  var count = window.projectCount + 1;

关于Javascript语法错误不知道我做错了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31448862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com