2011-01-31 5 views
0

を使用して、HTMLテーブル内の要素の値を選択する:ここでは私のテーブルがあるjqueryの

<script type="text/javascript"> 
$(".icon_add").live("click", function(e) { 
       e.preventDefault(); 
       var $link = $(this); 
       var docid = $($(this).parent().children("input[type=hidden][id=DocId]")[0]).val(); 
       var doctitle = $($(this).parent().children("input[type=hidden][id=DocTitle]")[0]).val(); // For getting the value of 'DocTitle' - undifined 
       alert(doctitle); 
       var grpid = $('#BldGrpId').val(); 
       var contents = '<li><span class="remove_item"><a href="#"> &nbsp;</a>' + doctitle + '</li>'; 
       $("#LstBldDoc").append(contents); 
       $("#LstDocTemp tr[id='" + docid + "']").remove(); 
       $.post("/BuildGroup/EditDocTempForBldGrp", { docId: docid, bldGrpId: grpid }); 
      }); 
    </script> 
<table id="LstDocTemp" class="grid_view" border="0" cellpadding="0" cellspacing="0"> 
       <tbody> 
        <tr> 
         <th class="selct_column" align="left"> 
          &nbsp; 
         </th> 
         <th class="selct_column" align="left"> 
          <input name="checkbox6" id="chkSelectAll" type="checkbox" /> 
         </th> 
         <th class="doc_title_1" align="left"> 
          Document title 
         </th> 
         <th class="description" align="left"> 
          Description 
         </th> 
         <th class="revision" align="center"> 
          Revision 
         </th> 
         <th class="part_no" align="left"> 
          Parts name 
         </th> 
         <th class="issue_no" align="center"> 
          Issue 
         </th> 
         <th class="actions" align="center"> 
          Actions 
         </th> 
        </tr> 
        <% int slNo = 1; %> 
        <%foreach (var item in Model) 
         { %> 
        <tr id="<%= Html.Encode(item.DocId) %>"> 
         <td> 
          <%--<%= slNo %>--%> 
         </td> 
         <td> 
          <input type="checkbox" name="chkItem" class="chk" id="chkbox_<%=Html.Encode(item.DocId) %>" /> 
         </td> 
         <td> 
          <%= Html.Hidden("DocTitle", item.DocTitle)%> 
          <a href='<%= Url.Action("DetailsDocumentTemplate", "Document", new { id = item.DocId })%>'> 
           <%=Html.Encode(item.DocTitle) %></a> 
         </td> 
         <td align="left"> 
          <%--<%= Html.Hidden("DocDesc", item.DocDesc)%>--%> 
          <%= Html.Encode(item.DocDesc) %> 
         </td> 
         <td align="center" class="dark_highlight"> 
          <%--<%= Html.Hidden("DocRevision", item.DocRevision)%>--%> 
          <%= Html.Encode(item.DocRevision) %> 
         </td> 
         <td align="left"> 
          <%= Html.Hidden("PartListId", item.PartListId)%> 
          <%--<%= Html.Hidden("PartNo", item.PartNo)%>--%> 
          <%= Html.Encode(item.PartNo) %> 
         </td> 
         <td align="center" class="light_highlight"> 
          <%--<%= Html.Hidden("IssueNo", item.IssueNo)%>--%> 
          <%=Html.Encode(item.IssueNo) %> 
         </td> 
         <td align="center"> 
          <%= Html.Hidden("DocId", item.DocId)%> 
          <a class="icon_add" title="Add">Add</a> 
         </td> 
        </tr> 
        <%slNo++; 
         } %> 
       </tbody> 
      </table> 

警告(doctitle)。 "undefined"がポップされています。 「addSelected」をクリックしたときに、DocTitle(隠しフィールド)の値を取得する必要があります。

どうか誰でもこのうちから私を助けることができますか?

答えて

0

は同じIDを複数回使用することはできませんが、ループ内で静的IDを使用しているので、明らかにそのIDを使用しています。これにより基本的にすべての問題が解消されます。セレクタが重複したIDで正常に動作することは期待できません。

これを固定した後、次のコードは、隠しフィールドの値を取得するために動作するはずです:

$link.closest('tr').find('input:hidden[name=DocTitle]').val(); 

説明:まず現在の要素が<tr>になるまで$リンクで始まるDOMツリーを登ります。次に、指定された名前の隠し入力フィールドを検索し、その値を取得します。

関連する問題