【问题标题】:How to bind RadGrid calendar close?如何绑定 RadGrid 日历关闭?
【发布时间】:2014-03-17 12:17:44
【问题描述】:

我正在使用telerik RadGrid。 如何在 jQuery 中绑定日历关闭事件。 我试过了,还是不行。

var popup = self._datePicker._getPopup();

popup.add_popupClosing(function () {
    alert("here we are!");
});

我想在日历弹出关闭时绑定一些东西。

【问题讨论】:

  • 请检查日历控件中的客户端事件。

标签: asp.net telerik telerik-grid radgrid radgridview


【解决方案1】:

我不知道 self 变量是什么,但你应该确保你有对你试图使用的 IScriptControl 对象的正确引用。这是一个小示例,它将遍历所有日期选择器,获取它们的控制权并使用一些 API:

    <telerik:RadDatePicker runat="server" ID="rdp1"></telerik:RadDatePicker>
<telerik:RadDatePicker runat="server" ID="rdp2"></telerik:RadDatePicker>
<script type="text/javascript">
    function pageLoad()
    {

        $telerik.$(".RadPicker input:first-child").each(function (index, elem)
        {

            if (elem && elem.control && elem.control.add_popupClosing)
                elem.control.add_popupClosing(theDesiredHandler);
        });
    }

    function theDesiredHandler(sender, args)
    {
        alert("date picker with ID: " + sender.get_id() + "is closing its popup");
    }
</script>

这将允许您使用一些 jQuery 选择器来获取特定的子元素或类似的东西。

或者通过这种方式获取页面上的所有选择器:

for (var i = 0; i < $telerik.radControls.length; i++)
            {
                if (Telerik.Web.UI.RadDatePicker.isInstanceOfType($telerik.radControls[i]))
                    $telerik.radControls[i].add_popupClosing(theDesiredHandler);
            }

【讨论】:

  • 感谢您的回复。
  • 我没有直接使用 RadDatePicker 控制器。我在 RadGrid 中使用它。我还添加了 self._datePicker = $find(e.attr("id") + '_gdtcSharedCalendar'); self._datePicker.add_dateClick(function (sender, ev) { alert("something") });这有效(self 是我的 'radGrid')但是当我尝试添加 self._datePicker.add_popupClosing(self.theDesiredHandler);它说“对象不支持属性或方法'add_popupClosing'”
  • 查看 DOM 遍历并确保使用正确的对象。使用 jquery,获取作为网格子项的选择器将相当容易,因此您可以附加事件(参见我的第一个示例)。
猜你喜欢
  • 2012-05-21
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多