0

JavaScript関数(jQuery)で「StudentID」値にアクセスするにはどうすればよいですか。

HTML:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Student.Models.vwStudent>>" %>

    <div class="divClass" id="divID">
      <table class="tableClass" id="tableID">
      <% foreach (var item in Model) { %>
        <tr class="trClass" id="trID">
          <td class="tdClass">
            <%= Html.TextBox("StudentID") %>
          </td>
          <td class="tdClass">
            <%= Html.Encode(item.StudentName) %>
          </td>
        </tr>
      <% } %>
      </table>
    </div>

JQuery:

 $('#ShowStudentID').click(function () {        
      $(".tdClass").each(function () {
          alert($('.tdClass').children().val());
       // How do I access StudentID and StudentName here?
      });
 });
4

3 に答える 3

1

でエンコードされたhtmlに直接アクセスでき、td with id=tdIDそれぞれは必要ありません

 $('#ShowStudentID').click(function () {                
       alert($('#tdID').text());                   
 });
于 2012-07-20T22:51:37.090 に答える
1

各 td の値を取得したい場合は、これがやりたいと思われるためthis、 each ループ内でキーワードを使用できます。このようなもの:

$('#ShowStudentID').click(function () { 
    $(".tdClass").each(function () { 
        alert($(this).text()); 
    }); 
 });

編集:

td 要素内の入力の値を取得するには、代わりに each-loop 内でこれを行うことができます。

alert($(this).find("input").val());

もう少し具体的にするために、属性 equals セレクターをスローすることもできます。

alert($(this).find("input[name='StudentID']").val());

編集2:

両方のtd要素から情報を取得するには、代わりに次のようにします。

$('#ShowStudentID').click(function () {
    $(".trClass").each(function () { 
          var tds = $(".tdClass", this);
          alert(tds.eq(0).find("input").val());
          alert(tds.eq(1).text());         
    });
});

tr代わりに要素をループし、そのtd中の各要素を選択して個別に扱います。

これも実際の例です:http://jsfiddle.net/Hzfz2/

于 2012-07-20T23:00:00.703 に答える
1

値にアクセスするにはStudentID:

$('#ShowStudentID').click(function () {
    $(".tdClass").each(function () {
        alert($(this).text());
    });
});

ちなみに、属性は一意でなければならないため、同じ ID (trIDtdID)は使用しません。id

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Student.Models.vwStudent>>" %>

    <div class="divClass" id="divID">
      <table class="tableClass" id="tableID">
      <% foreach (var item in Model) { %>
        <tr class="trClass">
          <td class="tdClass">
            <%= Html.Encode(item.StudentID) %>
          </td>
        </tr>
      <% } %>
      </table>
    </div>
于 2012-07-20T23:00:07.700 に答える