在jquery

时间:2016-02-07 08:42:47

标签: jquery asp.net-mvc-5 tags html-lists

我有ASP.NET MVC 5项目,我有一些标签li,我想在点击每个标签时获取jquery的值 所以我写了一些我无法获得它们的价值的代码 我使用下面的代码,但我无法得到结果请纠正我

@model IEnumerable<Sportcup.Models.news>
<script src="~/Scripts/jquery-2.2.0.js"></script>
<script>
    function f2() {

        var ID = $('#mID').val();
        $.ajax({
            url: "/Home/GetNext",
                    data: { param: ID},
                    type:"post",
                    success: function (value) {
                         results = JSON.parse(value);
                        $("#mydiv").empty();
                        $.each(results, function (idx, result) {
                        })
                    }
                })
      }
</script>

    @{ int c=Model.Count() / 4;}
<ul class="pagination no-margin">
    <li><a href="~/Home/GetLast?ID=@Model.Count()/4">«</a></li>
   @for (int i = 1; i <= Model.Count() / 4; i++)
   {
       if (TempData["ID"] != null && i == int.Parse(TempData["ID"].ToString()))
       {
         <li class="active"><a href="javascript:f2()">@i</a></li>   
         <li><input type="hidden" id="mID" name="ID" value="@i"/></li>
       }
       else
       {

        <li><a href="javascript:f2()">@i</a></li>
        <li><input type="hidden" id="mID" name="ID" value="@i" /></li>
       }
   }
    <li><a href="~/Home/GetLast?ID=@c">»</a></li>
</ul>

1 个答案:

答案 0 :(得分:0)

主要问题是id属性必须是唯一的,所以如果将它放在for循环中则不起作用..

您有两个选择:

  1. value传递给函数f2,如:

    <a href="javascript:f2(@i)">@i</a>
    

    然后在f2函数中定义:

    function f2(value) {
    
  2. 如果必须使用:hidden输入,则可以传递this(链接)输入函数,然后在其后面找到:hidden。像:

    <a href="javascript:f2(this)">@i</a>
    

    然后在f2()函数中:

    function f2(elm) {
       var value = $(elm).parent().next().find(':hidden').val();
       //.. the rest of the code.