Как получить значение флажка через jquery в динамической сетке c? - PullRequest
0 голосов
/ 23 января 2020

[dynamic grid[1]

Это моя динамическая сетка c. Я пытаюсь получить значение флажков на основе описания клиента. То есть, если флажок установлен, он сохраняет Y в базе данных, а если флажок равен false, он сохраняет N в базе данных. Ниже приведен код, который я пытаюсь сделать:

        var BusinessList = '';
        var cusid='' ,cuscheckbox = '', CustomerDescription='';

        $('#tblCustomerDetail tbody tr').each(function () {

             if ($.trim($(this).find('td:eq(0)').html()) != "No Data.") {

                 cusid = $(this).attr('pkid');

                 cuscheckbox = $(this).find('td:eq(1)').find('#txtcuscheckbox_').is(":checked");


                 CustomerDescription = $(this).find('td:eq(2)').find('text').val();
                 BusinessList += cusid + "♥" + cuscheckbox + "♥" + CustomerDescription + "♠";
             }

         });

Это фактически перебирает всю сетку строка за строкой и получает их значение. Я получаю cusid, но cuscheckbox всегда возвращает false. Может ли кто-нибудь изменить приведенный выше код так, чтобы он получал значение флажка в описании клиента? Я новичок в этом, и я не знаю, как это сделать. Код моей сетки

        DataTable dt = getDataTableFromQuery(@"select Id,cuscheckbox,CustomerDescription from CustomerState3");
        html = "<h2>    Customer State </h2><br/><table class=\"display unbreakable\" id=\"tblCustomerDetail\" style=\"width:100%; border-collapse: collapse;\"><thead>";

        #region Header

        html += "<tr><th height='40' class=\"Greyheader\" style=\"width:5%\">S.No</th>";
        html += "<th height='40' class=\"Greyheader\" style=\"width:30%\">Customer Status</th>";

        html += "<th height='40' class=\"Greyheader\" style=\"width:15%\">Customer Description</th>";

        //html += "<th class=\"Greyheader\" style=\"width:12%\">Action</th>";
        html += "</tr></thead>";

        #endregion

        #region Body
        html += "<tbody>";
        if (dt.Rows.Count > 0)
        {
            foreach (DataRow dr in dt.Rows)
            {

                html += "<tr class=\"GreyBorder\" id='tblCustomerDetail_" + dr["Id"].ToString() + "' pkid=\"" + dr["Id"].ToString() + "\"  class=\"DataRow\">";
                html += "<td class=\"GreyBorder\" style=\"text-align:center !important;\">" + Count + "</td>";


                html += "<td class=\"GreyBorder\"><input  id='txtcuscheckbox_" 
          + dr["Id"].ToString() + "' type=\"checkbox\" style=\" text-align: 
               right; width:95;\" value='" + dr["cuscheckbox"].ToString() + "' 
              class=\"mediumTextField Customer Status\" /></td>";

                //html += "<td class=\"GreyBorder\" > " + 
               dr["CustomerDescription"].ToString() + "</td>";

                html += "</tr>";
                Count++;


            }
        }
        else
        {


            html += "<tr class=\"GreyBorder\" ><td style=\"text-align:center !important;\" class=\"GreyBorder\"  colspan='6'>No Data.</td></tr>";

            html += "</tr>";
        }

        html += "</tbody>";

        #endregion

        html += "<tfoot><tr class='GreyBorder'>";


        html += "<td class='GreyBorder' colspan='2'></td> ";
        html += "</tr></tfoot>";

        html += "</table><br/>";


        return html.ToString();

    }

1 Ответ

0 голосов
/ 24 января 2020

Простым способом вы можете получить любое значение td, используя Class

Пожалуйста, проверьте рабочий пример -> https://jsfiddle.net/yr21xjbd/

Ваш C# Код

StringBuilder  html = new StringBuilder();
        DataTable dt = getDataTableFromQuery(@"select Id,cuscheckbox,CustomerDescription from CustomerState3");
        html.Append("<h2>    Customer State </h2><br/><table class=\"display unbreakable\" id=\"tblCustomerDetail\" style=\"width:100%; border-collapse: collapse;\"><thead>");

        #region Header

        html.Append("<tr><th height='40' class=\"Greyheader\" style=\"width:5%\">S.No</th>");
        html.Append("<th height='40' class=\"Greyheader\" style=\"width:30%\">Customer Status</th>");

        html.Append("<th height='40' class=\"Greyheader\" style=\"width:15%\">Customer Description</th>");

        //html.Append("<th class=\"Greyheader\" style=\"width:12%\">Action</th>");
        html.Append("</tr></thead>");

        #endregion

        #region Body
        html.Append("<tbody>");
        if (dt.Rows.Count > 0)
        {
            foreach (DataRow dr in dt.Rows)
            {

                html.Append("<tr class=\"GreyBorder\" id='tblCustomerDetail_" + dr["Id"].ToString() + "' pkid=\"" + dr["Id"].ToString() + "\"  class=\"DataRow\">");
                html.Append("<td class=\"GreyBorder jsCount\" style=\"text-align:center !important;\">" + Count + "</td>");


                html.Append("<td class=\"GreyBorder jsCustomerDescription\"><input  id='txtcuscheckbox_"  + dr["Id"].ToString() + "' type=\"checkbox\" style=\" text-align: 
               right; width:95;\" value='" + dr["cuscheckbox"].ToString() + "'class=\"mediumTextField Customer Status\" /></td>");
                //html.Append("<td class=\"GreyBorder\" > " + 
               dr["CustomerDescription"].ToString() + "</td>");

                html.Append("</tr>");
                Count++;


            }
        }
        else
        {


            html.Append("<tr class=\"GreyBorder\" ><td style=\"text-align:center !important;\" class=\"GreyBorder\"  colspan='6'>No Data.</td></tr>");

            html.Append("</tr>");
        }

        html.Append("</tbody>");

        #endregion

        html.Append("<tfoot><tr class='GreyBorder'>");


        html.Append("<td class='GreyBorder' colspan='2'></td> ");
        html.Append("</tr></tfoot>");

        html.Append("</table><br/>");


        return html.ToString();

    }

Jquery Код

$(document).ready(function() {
 $("#tblCustomerDetail  tbody tr").each(function(){
    console.log("Count "+$(this).find(".jsCount").text()); 
  console.log("Description "+$(this).find(".jsCustomerDescription").text());
 });
});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...