foreach (var item in Model)
                        {
                            if (item.CurrentRootId != Guid.Empty)
                            {
                        <tr id="[email protected]" class="[email protected]">
                            <td>
                                @if (item.CatalogVoucher == "page" || item.CatalogVoucher == "Product")
                                {
                                    <span class="file">@Html.Encode(item.CatalogName)</span>
                                }
                                else
                                { 
                                    <span class="folder">@Html.Encode(item.CatalogName)</span>
                                }
                            </td>
                            <td>
                                @Html.Encode(item.NavigationLicence)
                            </td>
                            <td>
                                <span id="btn-edit"></span><a href="#" class="btn_edit" categoryid="@item.CatalogId">Edit</a> 
                                <span id="btn-delete"></span><a href="#" class="btn_delete" categoryid="@item.CatalogId"> Delete</a>
                            </td>
                        </tr>
                            }
                            else
                            {
                        <tr id="[email protected]">
                            <td>
                                @if (item.CatalogVoucher == "page" || item.CatalogVoucher == "Product")
                                {
                                    <span class="file">@Html.Encode(item.CatalogName)</span>
                                }
                                else
                                { 
                                    <span class="folder">@Html.Encode(item.CatalogName)</span>
                                }
                            </td>
                            <td>
                                @Html.Encode(item.NavigationLicence)
                            </td>
                            <td>
                                <span id="btn-edit"></span><a href="#"  class="btn_edit" categoryid="@item.CatalogId">Edit</a>  
                                <span id="btn-delete"></span><a href="#" class="btn_delete" categoryid="@item.CatalogId">Delete</a>
                            </td>
                        </tr>
                            }
                        }
 $(".btn-edit").click(function () {
        var id = $(this).attr('categoryId'); //取记录ID
        alert('111');
        $.ajax({
            //target address
            url: "Catalogs/GetCategory/" + id,
            //post transmission
            type: "POST",
            //data format:JSON 
            dataType: 'json',
            //beforeSend: function() { },
            success: function (result) {
                var jsondata = eval('(' + result + ')').category;
                if (jsondata != null) {
                    $.each(jsondata, function (i, item) {
                        $('#edit_id').val(item.CategoryId);
                        $('#title2').val(item.title);
                        $('#status2').val(item.status);
                        $('#kind2').val(item.kind);
                    });
                    $("#EditPanel").dialog('open');
                }
                else
                    alert("此记录不存在!");
            }
        });
    });

解决方案 »

  1.   

     $(".btn-edit")这是找class是btn-edit的,如果id是btn-edit应该是  $("#btn-edit")
      

  2.   

    你这边的是取ID吧?取ID用$("#btn-edit"),取类用.
      

  3.   

    2 楼说的对 你那是取 class 的 不是 id
      

  4.   

    click 要写到ready里面 $(document).ready
      

  5.   

    $(function(){
        $("#btn-edit").click(function(){
           //your method
       })
    })
      

  6.   

    var id = $(this).attr('categoryId'); //取记录ID
    你这哪是取ID啊 ,是添ID上去了
    用这个 $("[categoryid]")
      

  7.   

    代码写法没有发现什么问题  但是你这两段代码 javascript脚本可能要放 在 上一段代码的下面很有可能是页面先加载javascript的时候  <span id="btn-edit"></span><a href="#"  class="btn_edit" categoryid="@item.CatalogId">Edit</a>  这一句代码还没有 在造成点击没有反应的
      

  8.   

    $(".btn-edit").click(function () {}
    这段代码是不是写在html前面 或者没用document.ready包住?
      

  9.   

    我是单独写在一个 .js 的文件里面的,然后也是写在$(document).ready 里面的,# 和. 都试过,都没有效果,求解释啊。。
      

  10.   

    加载js的时候 获取不到ID,写个代码弹出一个框测试一下不就知道了么?
      

  11.   

    $(function(){
      $("#btn-edit").click(function(){
      //your method
      })
    })你用的方法不对啊 ……你那个是类选择器,这个才是ID选择
      

  12.   

    +1
    var id = $(this).attr('categoryId'); //取记录ID
    这句代码的意思不是取$(this)的id,而是取$(this)的"categoryId"这个属性的值
    你要取$(this)这个对象的id应该写成var id = $(this).attr('id')