【问题标题】:Jquery Grid Checkbox valueJquery Grid 复选框值
【发布时间】:2012-10-11 15:52:59
【问题描述】:

大家好,我有一个带有复选框列的网格并被禁用。和一个带有图片按钮的列,当我点击图片按钮时,应该会获取该行中复选框的对应检查值。

这是我的网格,

                <asp:TemplateField HeaderText="Status" ItemStyle-Width="10%">
                    <ItemTemplate>
                        <asp:CheckBox ID="chkStatus" runat="server" Checked='<%# Eval("Deleted") %>'  Text="InActive" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Options" ItemStyle-Width="10%">
                    <ItemTemplate>
                        <asp:ImageButton ID="ImageButton1" CommandName="Edit" ImageUrl="images/Edit.gif"
                            OnClick='<%# Eval("ID", "ShowEditBox({0});return false;") %>' runat="server"
                            ToolTip="Edit" />
                        <asp:ImageButton ID="imgDelete" CommandName="Delete" ImageUrl="images/Delete.gif"
                            OnClientClick='<%# Eval("ID", "DeleteRecord({0});return false;") %>' runat="server"
                            ToolTip="Active/InActive" />
                    </ItemTemplate>
                </asp:TemplateField>

下面是jquery方法,

function ShowEditBox(id) 
{
    $("#divEditBox").slideDown("medium");
    var pid = 'PName' + id;
    var colIndex = 0;

    var $tr = $("#" + pid).parent().parent();
    $tr.find('td').each(function() {
        if (colIndex == 1) {
            $("#txtGroupName").val($(this).text());
        }
        if (colIndex == 2) {

            if (this.checked) { alert("true"); } else { alert("false"); } 

//            
//            alert($('#' + '<%= chkStatus.ClientID %>').is(':checked'));
//            alert($(this).text());
        }
        colIndex++;
    })
    $("#editId").val(id);
    $("#lblPopTitle").text("Modify Group");
}

当我单击编辑按钮时,showit() jquery 方法总是将复选框值返回为 false。

任何人都请帮我解决这个问题...... 谢谢

【问题讨论】:

    标签: jquery asp.net


    【解决方案1】:

    this.checked 中的 this 关键字是 .each 函数中的 td。 您首先必须找到复选框。做类似的事情:

    var checked = $(this).find(input:checkbox).is(':checked');
    

    【讨论】:

      【解决方案2】:

      你好你的TD循环应该是这样的,我没有检查过但应该是这样的

      $tr.find('td').each(function () {
              if ($(this).index == 1) {
                  $("#txtGroupName").val($(this).text());
              }
              if ($(this).index == 2) {
                  if($(this).find("input:checkbox").is(':checked'))
                  {
                      alert("true")
                  }
              }
          })
      

      【讨论】:

      • 非常感谢您的回答 Meraj..救了我 :)
      猜你喜欢
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多