使用DropDownList的mvc javascript

时间:2013-06-07 12:18:47

标签: jquery asp.net-mvc html5 asp.net-mvc-4 html.dropdownlistfor

所以我的观点得到了一个模型。 我希望,如果模型的ID属性为-1,则让DDL选择默认值“[Select]”。

DDL:

@Html.DropDownListFor(cModel => cModel.QueueMonitorConfigTypeName, Enum.GetValues(typeof(BPM.Website.Models.PathType)).Cast<BPM.Website.Models.PathType>().Select(v => new SelectListItem
    {
        Text = v.ToString(),
        Value = v.ToString()
    }), "[Select]", new { id = "ddlConfigTypeName" })

和js:

<script type="text/javascript">
    $(function () {
        var model = @Model.QueueMonitorConfigurationsID
        if (model = -1)
        {
            $('#ddlConfigTypeName').select("[Select]")
        }
        else{}
    });
</script>

但由于某种原因,js的intellisense告诉我这是错误的。 当我尝试在if中进行比较时出现问题。 我试过'=','==','===',没有任何作用

它只是说语法错误。我想它与添加@Model标签有一些关系,但无法解决它。 任何猜测?

由于

编辑,如果我改变它:

<script type="text/javascript">
    $(function () {
        if (@Model.QueueMonitorConfigurationsIDel == -1)
        {
            $('#ddlConfigTypeName').select("[Select]")
        }
        else{}
    });
</script>

它仍然说语法错误在==

2 个答案:

答案 0 :(得分:1)

它认为你在第一个

中做了一个任务(只有一个=)
$(function () {
    var model = @Model.QueueMonitorConfigurationsID
    if (model = -1)
    {
        $('#ddlConfigTypeName').select("[Select]")
    }
    else{}
});

我复制了你的情况,这有效:

   <script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
   <script type="text/javascript">
$(function () {

    var model = @Model.QueueMonitorConfigurationsID;
    if (model == -1){

        alert('got it');
    }
    else{

   alert(model);
  }
});
</script>

如果这仍然不适合您,您可以检查变量&#34; model&#34 ;?的值什么回来了?

答案 1 :(得分:0)

  1. 有一个“;”在var model = @Model.QueueMonitorConfigurationsID
  2. 后面的JS中缺失
  3. if (model = -1)更改为if (model == -1)