【问题标题】:Disable table with ASP.net controls & Telerik controls使用 ASP.net 控件和 Telerik 控件禁用表
【发布时间】:2013-06-08 10:13:47
【问题描述】:

我的桌子:

<table id="DispalyTable" border="4px"  style="width: 100%;"  >
                        <tr>
                            <td style="width: 137px; height: 137px;" valign="top">
                                <telerik:RadGrid runat="server">
                                    <MasterTableView>
                                        <Columns>
                                            <telerik:GridTemplateColumn>
                                                <HeaderTemplate>
                                                    <asp:CheckBox runat="server" Checked="true" Text="ALL" />
                                                </HeaderTemplate>
                                                <ItemTemplate>
                                                    <asp:CheckBox runat="server"  />
                                                </ItemTemplate>
                                            </telerik:GridTemplateColumn>
                                        </Columns>
                                    </MasterTableView>
                                </telerik:RadGrid>
                            </td>
                            <td style="width: 130px;" valign="top">
                                <div>
                                    <input id="Alloption" type="checkbox" checked="checked" value="All" onchange="javascript:othercheckboxalloption();" style="color: Black" 
                                        /><span style="color: Black">All </span>
                                    <br />
                                    <input id="otherCheckbox2" type="checkbox" value="Accepted" style="color: Black"
                                        class="chkdisplay" onchange="javascript:othercheckbxdisplay();"  /><span style="color: Black">Accepted </span>
                                    <br />
                                    <input id="otherCheckbox3" type="checkbox" value="Contracted" style="color: Black"
                                        class="chkdisplay" onchange="javascript:othercheckbxdisplay();" /><span style="color: Black">Contracted</span>
                                    <br />
                                    <input id="otherCheckbox4" type="checkbox" value="Pending" style="color: Black" class="chkdisplay"  onchange="javascript:othercheckbxdisplay();" /><span
                                        style="color: Black">Pending</span>
                                    <br />
                                    <input id="otherCheckbox5" type="checkbox" value="Pre-Authorized" style="color: Black"
                                        class="chkdisplay" onchange="javascript:othercheckbxdisplay();"  /><span style="color: Black">Pre-Authorized</span>
                                    <br />
                                    <input id="otherCheckbox6" type="checkbox" value="Show Deleted" style="color: Black"
                                        class="chkdisplay" onchange="javascript:othercheckbxdisplay();"  /><span style="color: Black">Show Deleted</span>
                                    <br />
                                    <input id="otherCheckbox7" type="checkbox" value="Treated" style="color: Black" class="chkdisplay"  onchange="javascript:othercheckbxdisplay();"  /><span
                                        style="color: Black">Treated</span>
                                    <br />
                                    <%-- <asp:CheckBox ID="All" runat="server" Checked="true" Text="ALL" ForeColor="Black"  /><br />

                                </div>
                            </td>
                            <td style="width: 138px;" valign="top">
                                <div>
                                    <asp:CheckBox ID="CheckBox8" runat="server" Checked="true" Text="Accepted" ForeColor="Black" /><br />
                                    <asp:CheckBox ID="CheckBox9" runat="server" Checked="false" Text="Appointment" ForeColor="Black" /><br />
                                    <asp:CheckBox ID="CheckBox10" runat="server" Checked="true" Text="Contract #" ForeColor="Black" /><br />
                                    <asp:CheckBox ID="CheckBox11" runat="server" Checked="true" Text="Pre-Auth #" ForeColor="Black" /><br />
                                    <asp:CheckBox ID="CheckBox12" runat="server" Checked="true" Text="TX Coloums" ForeColor="Black" /><br />
                                </div>
                            </td>
                            <td valign="top">
                                <div>

                                    <asp:DropDownList ID="DropDownList1" runat="server" >
                                        <asp:ListItem Text="Diag Date,Tth,Proc" Value="Diag Date,Tth,Proc"></asp:ListItem>
                                        <asp:ListItem Text="Tth,Diag Date,Proc" Value="Tth,Diag Date,Proc"></asp:ListItem>
                                    </asp:DropDownList>
                                </div>
                            </td>
                        </tr>
                    </table>

我尝试过的代码:

 function notewizardcheckbox() {
            $("#DispalyTable").attr("disabled", "disabled");
        }

调用上述函数的控件,onchange事件

<div style=" margin-left:25px; margin-top:17px; float:none;">
                <input id="Checkbox1" type="checkbox" value="Note Wizard View"  onchange="javascript:notewizardcheckbox();"  /><span
                                    style="color: Blue; font-size:21px; margin-left:6px;" >Note Wizard View</span>
                </div>

【问题讨论】:

  • 当您说“禁用表格”时,您的意思是“禁用该表格内的所有表单元素”吗? (实际的&lt;table&gt; 元素实际上并没有禁用或启用的概念。)
  • @nnnnnYes 禁用表格中的所有内容

标签: javascript jquery html asp.net telerik


【解决方案1】:

要禁用表格中的所有表单控件,您可以这样做:

$('#DispalyTable :input').prop('disabled', true);

:input selector 将选择输入、文本区域、选择和按钮元素。

如果 Telerik / .Net 控件不是“正常”的 html 表单元素,但它们具有 disabled 属性,那么您可以试试这个:

$('#DispalyTable td').find('*').prop('disabled', true);

也就是说,选择表格单元格中的所有元素并将disabled 设置为true(尽管这对其中一些可能没有意义)。

【讨论】:

  • 我试过了,但只有带输入的控件被禁用,但我的 Telerik 和 asp.net 控件没有
  • 谢谢你的 rply。你说得对,但我怎么能禁用 Telerik,asp.net 控件。有没有办法一次直接禁用整个表
  • 你是说我的第二个建议不起作用吗? &lt;table&gt; 元素没有“禁用”的概念,因此您必须选择表中的元素并逐个禁用它们(jQuery 为您提供了将它们作为一个组选择的快捷方式,如我的回答中所示,但是在 jQuery 代码中,它会循环遍历它们,并将 disabled 属性分别应用于它们)。
【解决方案2】:

这个 jQuery 将禁用 '#DispalyTable' div 中的所有输入元素。

$('#DispalyTable input').each(function(){
  $(this).attr('disabled','disabled');
}

【讨论】:

  • 我试过了,但只有带输入的控件被禁用,但我的 Telerik 和 asp.net 控件没有
  • 您能否查看/共享导致问题的 Telerik 和 asp.net 控件呈现的 html?
  • 有没有办法一次直接禁用整个表
猜你喜欢
  • 2011-03-12
  • 2011-10-07
  • 2012-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-16
相关资源
最近更新 更多