如何使用jquery从HTML表中获取复选框和文本框值

时间:2014-12-14 06:39:32

标签: jquery html asp.net-mvc

我有一个动态创建的HTML表格,其中包含值 - 部分视图 “数量”和“备注”有两个文本框 和一个复选框

  <table style="border:0;width:100%;padding:5px" class="table_style" id="mytable">
    <tbody>
             @for (int i = 0; i < dtServices.Rows.Count - 1; i++)
             {           
                    <tr>
                        <td style="text-align:left;vertical-align:top">                
                            @Html.HiddenFor(model => model.ServiceListDetails.UserXId, new { Id = "hduId", Value = userId })
                            @Html.HiddenFor(model => model.ServiceListDetails.SessionXId, new { Id = "hdsId", Value = HttpContext.Current.Session["UserId"] })     
                            @Html.HiddenFor(Model => Model.ServiceListDetails.Id, new { @Id = "hdServiceId",Value = @dtServices.Rows[i]["ServiceId"].ToString() })  </td>

                            @* <td style="text-align:left;vertical-align:top">@dtServices.Rows[i]["ServiceId"].ToString()</td> *@
                            <td style="text-align:left;vertical-align:top">@dtServices.Rows[i]["ServiceName"].ToString()</td>
                            <td style="text-align:left;vertical-align:top">@dtServices.Rows[i]["ServiceUnit"].ToString()</td>

                            <td style="text-align:left;vertical-align:top">@Html.TextBoxFor(Model => Model.ServiceListDetails.ServicelistQuatity, new { @Id = "txtQty_" + @dtServices.Rows[i]["ServiceId"].ToString(), @style = "width:120px" })</td>
                            <td style="text-align:left;vertical-align:top">@Html.TextBoxFor(Model => Model.ServiceListDetails.ServicelistRemarks, new { @Id = "txtRemark_" + @dtServices.Rows[i]["ServiceId"].ToString(), @style = "width:200px" })</td>
                            <td>@Html.CheckBox("assignids")</td>    
                            <td style="text-align:left;vertical-align:top">

                        </td>
                    </tr>
             }
     </tbody>
</table>

我想通过在View中单击按钮使用jquery获取所选行和文本框中的相应值来获取所选行的值

  <input type="button" id="btnPreview" name="Preview" value=" Preview " class="button"/>

我尝试使用谷歌搜索来到这里。但仍然无法正常工作。值是'未定义'

    $("#btnPreview").click(function () {
     var strmsg = "Values = ";
     var rows = $('#mytable tbody >tr');
     var columns;
     for (var i = 0; i < rows.length; i++) {
         columns = $(rows[i]).find('td');
         for (var j = 0; j < columns.length; j++) {

             if ($(columns[j]).find('assignids').is(':checked'))
             {
                 var itemcode = $(columns[j]).find('txtQty_').val();
                 strmsg = strmsg + itemcode;
             }
         }
     }

请有人帮助我..我已经坚持了一个多星期了: - ((

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用jQuery&#39; $(rows[i])方法,而不是使用$(columns[j])eq()

这是一个很好的资源:http://api.jquery.com/eq/