ASP.NET MVC运行时Javascript语法错误,无错误代码
存在Javascript语法错误 表单元素:ASP.NET MVC运行时Javascript语法错误,无错误代码,javascript,asp.net-mvc,html.dropdownlistfor,Javascript,Asp.net Mvc,Html.dropdownlistfor,存在Javascript语法错误 表单元素: @Html.DropDownListFor(model => model.UNIT, new SelectList(ViewBag.UnitList, "Value", "Text"), "-- Select a Unit --", new {onchange = "showSelectedValue" }) Javascript: function showSelectedValue() {
@Html.DropDownListFor(model => model.UNIT,
new SelectList(ViewBag.UnitList, "Value", "Text"),
"-- Select a Unit --",
new {onchange = "showSelectedValue" })
Javascript:
function showSelectedValue() {
alert('Selected: ' + @Model.UNIT);
// Syntax error underlines the closing parentethesis of the alert function
}
我想用showSelectedValue函数检查选择的是哪个单元,Razor执行服务器端,javascript执行客户端,这样你就不能把它们混在一起了;您的代码将把@Model.UNIT的初始值作为字符串文本放入脚本中,看起来类似于alert'Selected:'+无论单位是什么;,这是一个语法错误,因为任何单元都没有用引号括起来 最简单的方法是将select作为参数传递给onchange函数
@Html.DropDownListFor(model => model.UNIT,
new SelectList(ViewBag.UnitList, "Value", "Text"),
"-- Select a Unit --",
new {onchange = "showSelectedValue(this)" })
Razor执行服务器端,javascript执行客户端,所以不能将它们混合在一起;您的代码将把@Model.UNIT的初始值作为字符串文本放入脚本中,看起来类似于alert'Selected:'+无论单位是什么;,这是一个语法错误,因为任何单元都没有用引号括起来 最简单的方法是将select作为参数传递给onchange函数
@Html.DropDownListFor(model => model.UNIT,
new SelectList(ViewBag.UnitList, "Value", "Text"),
"-- Select a Unit --",
new {onchange = "showSelectedValue(this)" })
这可能有助于:
@Html.DropDownListFor(model => model.UNIT
, new SelectList(ViewBag.UnitList, "Value", "Text")
, "-- Select a Unit --"
, new { @id = "ddUnit" });
脚本:
$(document).ready(function () {
$("#ddUnit").change(function () {
alert($(this).val());
});
});
如果要直接获取值,请在脚本中使用:
var value = $("#ddUnit").val();
这可能有助于:
@Html.DropDownListFor(model => model.UNIT
, new SelectList(ViewBag.UnitList, "Value", "Text")
, "-- Select a Unit --"
, new { @id = "ddUnit" });
脚本:
$(document).ready(function () {
$("#ddUnit").change(function () {
alert($(this).val());
});
});
如果要直接获取值,请在脚本中使用:
var value = $("#ddUnit").val();
单位还不够吗?为什么要为下拉列表分配新ID?只需将ID分配给下拉列表,就可以在脚本中写入与下拉列表相关联的任何事件,如果其他脚本函数需要,还可以直接获取值。其次,在javascript中,不能直接从模型中读取值。如果您只想在问题中指定的selection changed事件中获取下拉值,您问题中的脚本可以修改为:function showSelectedValue{alert'Selected:'+@Html.RawJson.EncodeModel.UNIT;}非常感谢,但是其他人响应得更快。UNIT不够吗?为什么要为下拉列表分配新ID?只需将ID分配给下拉列表,就可以在脚本中写入与下拉列表相关联的任何事件,如果其他脚本函数需要,还可以直接获取值。其次,在javascript中,不能直接从模型中读取值。如果您只想在问题中指定的selection changed事件中获取下拉值,则可以将问题中的脚本修改为:function showSelectedValue{alert'Selected:'+@Html.RawJson.EncodeModel.UNIT;}非常感谢,但其他人响应得更快。