如何在MVC中点击TD的价值

时间:2014-12-23 19:57:03

标签: javascript jquery asp.net-mvc asp.net-mvc-4 razor

我知道这个问题被问了很多,但我已经尝试了所有的clickevents但是似乎无法让这个工作我想从td得到一个值或字符串这里是我构建的表

   <table id="tblMain">
  <thead>
    <tr>
        <th>Parcel ID</th>
        <th>Quick Ref ID</th>
        <th>Address</th>
        <th>Tax Unit</th>
        <th>Style</th>
        <th>Arch Style</th>
        <th>Validity Code</th>
        <th>Sale Price</th>
        <th>Sale Date</th>
        <th>Year Built</th>
        <th>Total Living Area</th>
        <th>Lot Area</th>
        <th>Bedrooms</th>
    </tr>
</thead>

<tbody>

    @foreach (var item in Model)
    {
        <tr class="side-link">


                <td class="parcelIDCell"><a id="Parcelid"    /> @item.ParcelId </td>
                <td>@item.QuickRefId</td>
                <td>@item.Address</td>
                <td>@item.TaxunitA</td>
                <td>@item.StyleA</td>
                <td>@item.ArchStyleA</td>
                <td>@item.ValCode</td>
                <td>@item.SalePriceA</td>
                <td>@item.SaleDateA</td>
                <td>@item.YearBuilt</td>
                <td>@item.LivingArea</td>
                <td>@item.LotArea</td>
                <td>@item.BedroomA</td>
                 @*<td>@item.ParcelID</td>
                <td>@item.PropertyID</td>*@

        </tr>
    }

</tbody>

我只想从第一行检索包裹ID,具体取决于我点击哪一个 我试过的一些java脚本

 <script>
var tbl = document.getElementById("tblMain");
if (tbl != null) {
    for (var i = 0; i < tbl.rows.length; i++) {
        for (var j = 0; j < tbl.rows[i].cells.length; j++)
            tbl.rows[i].cells[j].onclick = function () { getval(this); };
    }
}

function getval(cel) {
    alert(cel.innerHTML);
}

还有更多,但我删除了它们 任何建议将不胜感激

2 个答案:

答案 0 :(得分:2)

你想要一个id或字符串?你可以这样做:

$("td").click(function() {
  if($(this).hasClass("parcelIDCell")){
  var ID = $(this).find("a").attr("id");
  alert("Id is: " + ID);
 }else{
   var String = $(this).text();
   alert("Text is: " + String);
 }
});

它检查点击的td是否包含类parcelIDCell,如果有,它会在其中找到a标记并拉出id。如果该类不存在,则只会抓取该文本。小提琴下面:

FIDDLE

答案 1 :(得分:1)

使用jQuery:

$("#tblMain td").click(function() {
  if ($(this).hasClass('parcelIDCell') {
     alert($(this).find('a').attr('id));
  } else {
     alert($(this).text());
  }
});

更新:获取宗地ID或文本,具体取决于td的类别。