>  기사  >  웹 프론트엔드  >  JQuery는 AJAX를 통해 백그라운드에서 정보를 얻어 테이블에 표시하고 행 선택_jquery를 지원합니다.

JQuery는 AJAX를 통해 백그라운드에서 정보를 얻어 테이블에 표시하고 행 선택_jquery를 지원합니다.

WBOY
WBOY원래의
2016-05-16 15:39:081210검색

Easyui의 스타일을 사용하고 싶지는 않았지만 테이블 기능이 필요했습니다. 원래는 온라인에서 관련 플러그인을 찾아보고 싶었지만 찾을 수 없어서 직접 작성하기 시작했습니다. 그렇게 쉬울 거라고는 기대하지 마세요.

백엔드 코드: (중요하지 않음)

public ActionResult GetDictTypes()
{
  var data = from a in dbo.DictTypes
        select new DictTypeListViewModel
        {
          ID = a.ID,
          Name = a.Name,
          LastChangeUser = a.LastChangeUser,
          LastChangeDate = a.LastChangeDate,
          Remark = a.Remark
        };
  return Json(data.ToList());
}

페이지 코드:

<table class="table" id="DictTypeTable">
 <thead>
  <tr>
   <th>ID</th>
   <th>标题</th>
   <th>简介</th>
  </tr>
 </thead>
 <tbody class="sel"></tbody>
</table>

javascript 코드: ($(document).ready(function ($){ })에서 호출해야 함

function ShowDictType() {
  $('#DictTypeTable').children('tbody').empty();
  $.ajax({
    url: GetDictTypes_URL,
    type: 'post',
    dataType: 'json'
  })
   .done(function (data) {
     var tbody = "";
     $.each(data, function (index, el) {
       var tr = "<tr>";
       tr += "<td>" + el.ID + "</td>";
       tr += "<td>" + el.Name + "</td>";
       tr += "<td>" + el.Remark + "</td>";
       tr += "</tr>";
       tbody += tr;
     });
     $('#DictTypeTable').children('tbody').append(tbody);
     BindDictTypeTableEvent();//这里是绑定事件
   })
   .fail(function () {
     alert("Err");
   });
}

양식이 생성된 후 이벤트를 바인딩하려면:

function BindDictTypeTableEvent() {
  $('#DictTypeTable tbody.sel').children('tr').click(function (event) {
    $(this).siblings('tr').removeClass('active');//删除其他行的选中效果
    $(this).addClass('active');//增加选中效果
    var id = $(this).children('td:eq(0)').text();//获取ID
    ShowDictData(id);//操作代码,这里是显示另一个表格数据
  });
}

마지막으로 선택한 항목의 ID를 가져오는 코드는 다음과 같습니다.

function GetTypeTableSelectId() {
  return $('#DictTypeTable tbody.sel tr.active td:eq(0)').text();
}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.