如何在剃刀模型中的列表中获取特定项目

时间:2012-10-25 14:09:30

标签: javascript jquery razor slider

在Razor的视图中,我传递的模型包含具有Name和UseDescription属性的对象的列表('usageList')。

在JQuery中,我创建了一个滑块,我希望在更改滑块值时显示特定的UseDescription。

问题是获取模型内列表中的特定对象。 我有这个代码(JQuery):

<script type="text/javascript">
    $(document).ready(function() {
        $("#slider").slider({
            min:1,
            max:3,
            value:1,
            range:"min",
            change: function(event,ui){
                var number = ui.value;
                alert("@Model.UsageList[ui.value].UseDescription");

            }
        });
    });
</script>

在这一行中无法获得ui.value:

alert("@Model.UsageList[ui.value].UseDescription");

如果我传入一个数字(1表示例子)而不是ui.value,那么一切正常。但我需要获得具体的列表对象。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您需要使用javascript将列表下载到客户端。然后,您可以按索引获取项目。像这样:

<script type="text/javascript">
        $(document).ready(function() {
            var usageList = []
            @foreach (var item in Model.UsageList)
            {
                <text>usageList.push('@item.UseDescription');</text>
            }

            }
            $("#slider").slider({
                min:1,
                max:3,
                value:1,
                range:"min",
                change: function(event,ui){
                    var number = ui.value;
                    alert(usageList[ui.value - 1]);

                }
            });
        });
    </script>