1

所以我的观点收到了一个模型。如果模型的 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 的智能感知告诉我这是错误的。当我尝试在 if 中进行比较时,问题就来了。我试过'=','==','==='但没有任何效果

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

谢谢

编辑,如果我用这个改变它:

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

它仍然说语法错误在==

4

2 回答 2

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>

如果这仍然对您不起作用,您可以检查变量“模型”的值吗?它在返回什么?

于 2013-06-07T13:45:33.230 回答
0
  1. 有一个“;” 缺少在后面的 JSvar model = @Model.QueueMonitorConfigurationsID
  2. 更改if (model = -1)if (model == -1)
于 2013-06-07T12:22:59.420 回答