FineUI 官方论坛

标题: FineUI v4.0.6的My97DatePicker例子在FineUI v3.3.3下无效 [打印本页]

作者: luokaijin    时间: 2014-5-29 23:13
标题: FineUI v4.0.6的My97DatePicker例子在FineUI v3.3.3下无效
在FineUI v4.0.6的项目里,My97DatePicker可以正常使用,但是把同样的代码放到FineUI v3.3.3下却无效!
请帮忙呀!!!
代码如下:
         <x:TriggerBox ID="tbxStarDate" Label="" EmptyText="请选择日期和时间" TriggerIcon="Date" runat="server" EnablePostBack="False">
         </x:TriggerBox>
         <x:TriggerBox ID="tbxEndDate" Label="" EmptyText="请选择日期和时间" TriggerIcon="Date" runat="server">
          </x:TriggerBox>
          <x:TextBox ID="ttbUserName" runat="server" Label="" Text="" EmptyText="在用户名中搜索"></x:TextBox>
           <x:Button ID="btnChaXun" runat="server" Text=" 数据查询 " Icon="Zoom" ValidateForms="Form2" CssClass="buttonMargin"></x:Button>

JS:
    <script src="../res/jQuery/jquery-1.10.2.min.js" type="text/javascript"></script>
    <script src="../res/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
    <script type="text/javascript">
        var tbxStarDateClientID = '<%= tbxStarDate.ClientID %>';
        var tbxEndDateClientID = '<%= tbxEndDate.ClientID %>';
        function onReady() {
            var tbxStarDate = X(tbxStarDateClientID);
            $.extend(tbxStarDate, {
                onTriggerClick: function () {
                    WdatePicker({dateFmt: 'yyyy-MM-dd HH:mm:ss'})
                }
            });
            var tbxEndDate = X(tbxEndDateClientID);
            $.extend(tbxEndDate, {
                onTriggerClick: function () {
                    WdatePicker({dateFmt: 'yyyy-MM-dd HH:mm:ss'})
                }
            });

            //单击文本框时,显示日期控件(这个可以正常使用)
            var TB_DATE = '<%= ttbUserName.ClientID %>';
            var DATE_OBJ = X(TB_DATE);
            DATE_OBJ.on('focus', function (e) {
                WdatePicker({ dateFmt: 'yyyy-MM-dd HH:mm:ss'})
            });
        }
    </script>

作者: luokaijin    时间: 2014-5-30 11:05
三石老大,请帮帮忙呀!
作者: sanshi    时间: 2014-5-30 11:44
打开浏览器调试工具,看下有啥 JS 错误
作者: luokaijin    时间: 2014-5-30 14:50
找不到原因,在IE下绑定到TriggerBox控件的不起作用,但绑定到TextBox的是可以的;但是用火狐浏览器打开,就全部不行了!也找不到问题呀,麻烦你帮帮忙嘛,谢谢!
作者: luokaijin    时间: 2014-5-30 14:57
本帖最后由 luokaijin 于 2014-5-30 15:23 编辑

FineUI v4.x太慢,专业版又还没出来,没办法就只有选择v3.x版本来用,等专业版出来再购买,可这问题不知怎么解决,望三石帮帮忙哈,谢谢

作者: sanshi    时间: 2014-5-30 15:31
简单测试了一下,extjs v3.4 这个地方处理的不好,它是在初始化时进行事件绑定,如下所示:
  1. // private
  2.     initTrigger : function(){
  3.         this.mon(this.trigger, 'click', this.onTriggerClick, this, {preventDefault:true});
  4.         this.trigger.addClassOnOver('x-form-trigger-over');
  5.         this.trigger.addClassOnClick('x-form-trigger-click');
  6.     },
复制代码
参考源代码:http://docs.sencha.com/extjs/3.4 ... t-form-TriggerField

所以,触发器控件初始化完毕后再对 onTriggerClick 进行赋值就没用了。

可以尝试如下类似代码(先解除绑定,再重新绑定):
  1. var triggerBox = X('SimpleForm1_tbxMyBox1');
  2. triggerBox.mun(triggerBox.trigger, 'click', triggerBox.onTriggerClick, triggerBox);
  3. triggerBox.mon(triggerBox.trigger, 'click', function() {
  4.         alert('hehe');
  5. }, triggerBox, {preventDefault:true});
复制代码





作者: luokaijin    时间: 2014-5-30 15:56
三石兄呀,用你的方法能弹出对话框,但把“alert('hehe');”换成“WdatePicker({ dateFmt: 'yyyy-MM-dd HH:mm:ss' });”,还是不行呀,没反应呀!再帮看看,谢谢了!
           var triggerBox = X(tbxStarDateClientID);
            triggerBox.mun(triggerBox.trigger, 'click', triggerBox.onTriggerClick, triggerBox);
            triggerBox.mon(triggerBox.trigger, 'click', function () {
                WdatePicker({ dateFmt: 'yyyy-MM-dd HH:mm:ss' });
                //alert('hehe');(点击能弹出窗口,但是还是弹不出选择日期框)
            }, triggerBox, { preventDefault: true });
作者: sanshi    时间: 2014-5-30 21:38
luokaijin 发表于 2014-5-30 15:56
三石兄呀,用你的方法能弹出对话框,但把“alert('hehe');”换成“WdatePicker({ dateFmt: 'yyyy-MM-dd HH: ...

参考:http://fineui.com/demo/#/demo/aspnet/my97.aspx
  1. WdatePicker({
  2.                         el: tbxMyBoxClientID + '-inputEl',
  3.                         dateFmt: 'yyyy-MM-dd HH:mm:ss',
  4.                         skin: 'neptune'
  5.                     });
复制代码

你可能需要指定 el 属性,也就是说这个弹出日期组件和哪个input元素关联

作者: luokaijin    时间: 2014-5-31 10:45
还是不行,如果三石兄有空帮测试测试,谢谢

作者: 阿布在飘    时间: 2016-11-25 18:22
老兄这个问题解决了吗,我也碰到这个问题了,基于fineui3.3.3.0,实现到分钟的时间的控件




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4