0

我在局部视图中有一个图像,最终将由视图中的各种控件更改。由 MS Chart Controls 提供,这意味着我每次更改其中一个设置时都需要创建一个新图像。现在我只想在更改下拉属性时从页面中删除所述图像(稍后我计划调用使用不同参数绘制图表的操作),但这似乎不起作用。

在我的局部视图中:

<!--I populate the dropdown from a model loaded from a database-->
<select id="scoresSelect">
    @foreach(var option in @Model.testlist)
    {
      <option value="@option">@option</option>
    }
</select>

<div style="clear:both">&nbsp</div>

<img id="statusgraph" src="@Url.Action("StatusGraph", new { title=@Model.Options.First().Value.First()})"/>

 <p>Bottom controls</p>


<!--Downside of using partial views: scripts cannot be externally loaded-->
<script type="text/javascript">

$(document).ready(function () {

    $("#scoresSelect").change(function () {
        alert("changed");   // this executes just fine
        $("#graphid").prop({display: "none"});
    });



});


</script>

alert 方法执行得很好,所以我知道这不是 javascript 问题。有谁知道它为什么会中断以及如何使其工作?

谢谢!

4

1 回答 1

0

使用$("#graphid").css({display: "none"});代替$("#graphid").prop({display: "none"});

.prop()方法仅获取匹配集中第一个元素的属性值。

.css()方法是从第一个匹配元素获取样式属性的便捷方法。

注意:display是 css 中的属性。

于 2012-08-15T10:09:46.550 回答