在局部视图中单击时选择列表项

时间:2016-03-03 15:07:25

标签: jquery .net model-view-controller

我有一个列表,其中包含部分视图中包含的许多项目:

<ul class="ls-list">
    @if (Model.ItemList != null)
        {
            foreach (var item in Model.ItemList)
            {
                <li>
                    <a href="#">
                        @item.ID - @item.Name
                    </a>
                </li>
            }
        }
        else
        {
            <li>NO CURRENT ITEMS</li>
        }
</ul>

<input type="submit" name="Submit" value="Submit"/>


@section Scripts
{
    <script type="text/javascript">
        $(document).ready(function () {
            $("li").click(function () {
                $(this).hide();
            });
        });
    </script>
}

我试图在用户点击该锚点时获取列表项的值,但我无法触发我的jquery函数。我需要获取所选列表项的值,但只有在用户单击提交按钮后才能获得。

我无法控制部分的设计,因此无法使用下拉列表。

有人可以告诉我这里我做错了吗?

由于

1 个答案:

答案 0 :(得分:0)

在白痴中,我在局部视图中添加了部分,所以当然我的事件没有被发射。简单的解决方案是删除section标签并保留脚本:

<ul class="ls-list">
    @if (Model.ItemList != null)
        {
            foreach (var item in Model.ItemList)
            {
                <li>
                    <a href="#" id="selectItem">
                        @item.ID - @item.Name
                    </a>
                </li>
            }
        }
        else
        {
            <li>NO CURRENT ITEMS</li>
        }
</ul>

<script type="text/javascript">
    $(function() {
        $("a.selectItem").click(function (e) {
            $("#ID").val = e.ID;
            alert(this.text);
        });
      });
</script>

或将该部分添加到父视图。我个人将其添加到父母那里。