1

嗨,我正在为 asp.net 使用 Telerik rad 控件,我必须使用 javascript 清除输入;但是 Telerik 控件(例如 radcombobox)会生成一个巨大的标记,那么如何清除客户端页面上的 Telerik 控件?

谢谢

4

5 回答 5

1

我有一个非常简单的工作示例。我希望这会给你一些关于如何进行的想法。我已经为文本框做了一些清理工作。

 <Items>
        <telerik:RadComboBoxItem Text="Oragnes" Value="1" />
 </Items>
 <Items>
        <telerik:RadComboBoxItem Text="Apples" Value="2" />
 </Items>
 <Items>
        <telerik:RadComboBoxItem Text="Bananas" Value="" />
 </Items>

</telerik:RadComboBox>
  &nbsp;
<telerik:RadTextBox ID="rdTextBox" runat="server" ></telerik:RadTextBox>
&nbsp;
<telerik:RadTextBox ID="RadTextBox1" runat="server" ></telerik:RadTextBox>
&nbsp;
<telerik:RadTextBox ID="RadTextBox2" runat="server" ></telerik:RadTextBox>
      <br />
<input type="button" onclick="ClearRadControls()" value="Clear Rad Controls" />

<script language="javascript" type="text/javascript">

function   ClearRadControls()
{
    var radControl1TextBox = document.getElementById("<%=rdTextBox.ClientID  %>" + "_text");
    var RadTextBox1 = document.getElementById("<%=RadTextBox1.ClientID  %>" + "_text");
    var RadTextBox2 = document.getElementById("<%=RadTextBox2.ClientID  %>" + "_text");
    radControl1TextBox.value   = '';
    RadTextBox1.value = "";
    RadTextBox2.value = "";
}

</script>
于 2009-07-02T17:32:39.263 回答
1

Telerik 在此处为 asp.net radcontrols 提供了一些有用的帮助文档:

http://www.telerik.com/help/aspnet-ajax/introduction.html

要回答您对组合框的问题:

使用 Telerik 的 $find 函数返回控件的 Telerik 对象。然后,您可以使用控件中内置的客户端功能。

function ClearSelection() {
    var combo = $find("<%= yourCombo.ClientID %>");
    combo.clearSelection(); 
  }

http://www.telerik.com/help/aspnet-ajax/combobox-client-side-radcombobox.html

于 2015-05-19T15:15:29.490 回答
0

我在博客上找到了一个 js 解决方案作为..

在示例代码中,我在 RadGrid 中搜索了名为“sampleDivInGrid”的 div 项。

                 function GetServerElement(serverID, tagName) {
                     if (!tagName)
                         tagName = "*"; //* means all elements  
//i give here the Grid clientID which is owner of the control that we search 
                     var grid = document.getElementById("<%=grdItems.ClientID %>");
                     var elements = grid.getElementsByTagName(tagName);
                     for (var i = 0; i < elements.length; i++) {
                         var element = elements[i];
                         if (element.id.indexOf(serverID) >= 0)
                             return element;
                     }
                 }


                 function OnClientIndexChanged(sender, eventArgs) {

                     var itm = GetServerElement("sampleDivInGrid", "div");
                     var item = eventArgs.get_item();
                     var itmTxt = item.get_text();
                     alert(itmTxt);
                 }
于 2010-07-27T10:48:37.107 回答
0

这可能是题外话,但 JS 框架 Dojo 可能会有所帮助。请参阅我用来取消选中所有复选框的这段代码。这些控件都是动态生成的。

> // Uncheck the children
>                   dojo.forEach(
>                       dojo.query("input[type='checkbox']",
> subList),
>                       function(checkboxTag) {
>                           checkboxTag.checked = false;
>                       }
>                   );
于 2009-07-10T21:17:13.153 回答
0

您可以使用telerik 的$find 函数返回控件的telerik 对象。

<script type="text/javascript">

    function Something() {
        //...
        $find("<%= yourCombo.ClientID %>").clearSelection();
        //... 
    }
</script>

Telerik 在此处为 asp.net radcontrols 提供了一些有用的帮助文档:

http://www.telerik.com/help/aspnet-ajax/introduction.html

http://www.telerik.com/help/aspnet-ajax/combobox-client-side-radcombobox.html

于 2018-12-10T08:07:09.060 回答