精华内容
下载资源
问答
  • 改elementui日期选择器宽度

    千次阅读 2020-07-01 17:12:55
    /* 日期选择框的宽度 */ .el-date-editor.el-input, .el-date-editor.el-input__inner { width: 220px; }
    /* 日期选择框的宽度 */
    .el-date-editor.el-input, .el-date-editor.el-input__inner {
        width: 220px;
    }
    
    展开全文
  • Jquery 自适应宽度input

    千次阅读 2016-05-09 11:16:29
    最近按老大嘱咐,在学一些奇奇怪怪的东西,gulp,sass,react啥的... 还在做一个仿QQ邮箱的添加联系人的那个东西。...这里,主要是做一个所谓的自适应宽度input框。 我纠结了很久。 只有一个思路:获取input

    最近按老大嘱咐,在学一些奇奇怪怪的东西,gulp,sass,react啥的...

    还在做一个仿QQ邮箱的添加联系人的那个东西。


    对,就是这个。

    我本来对这个的操作只有可以选人,可以删除选中的人...

    但是!!!‘

    开始做了之后,才发现哪里有我想的那么简单!!!

    被卖了!!!

    这里,主要是做一个所谓的自适应宽度的input框。

    我纠结了很久。

    只有一个思路:获取input框里的值的宽度,再去给width宽度

    就是因为这个思路!

    中断了一个月。

    思路出问题了。

    一个月后的我,也就是现在,在网上找了一些东西。

    大部分都是08,09年贴出来的代码。

    都是用JS。

    =。=可是我Js手残啊,我Jquery写的比较多。


    额,反正看了那些代码后,有一些是跟我上面的思路一样。

    上面那个思路唯一的问题是无法确定获取的值的长度。汉字,英文,标点符号,数字,还有那些奇怪的符号?难道要写一个正则表达式?!

    不行不行,我不会正则!


    然后看到了一个新的思路:获取实时获取input框的值,把它丢到一个标签里,然后去用width()获取长度返回给input

    例子在这里,戳

    =。=啊,因为一开始没成功,所以我还评论了,亲测无效!

    例子里面用的标签是pre。

    所以如果从input框里获取一个值,然后丢入pre里,pre是会占满一整行的。这个时候input框给的值是非常长的。但是因为我只想要文字的宽度,纯文字的宽度!所以,我把pre改成了span。例子里面有代码,我这里就在贴一次。

    $("#test1").unbind('keydown').bind('keydown', function(){
    			$(this).width(textWidth($(this).val()));
    	    });

     var textWidth = function(text){ 
    	      var sensor = $('<span>'+ text +'</span>'); 
    	      $("#test-part").append(sensor); 
    	      var width = sensor.width();
    	      sensor.remove(); 
    	      return width;
    	  };

    然后就!阔!以!了!

    思路不对搞死人啊

    ************************************************我是5月9日当天的修正线****************************************************************

    我刚刚一直以为是标签pre所以才会占满一整行...但是不是。

    上面的例子与我参考的代码差别不止在于标签不同,我并没有给display:none这个属性。

    貌似是这个的原因,影响了占满一行的原因。

    另,并没有测过别的浏览器,目前只在chrome浏览器下做了实验。

    要等基本的人员选择器做好了才回去别的浏览器下面测试。

    展开全文
  • elementUI的el-input和el-select宽度不一样

    千次阅读 2020-02-20 21:29:32
    在用vue时,用到了element组件的 el-input 和 el-select(多选框)组件,但是宽度显示不一样,查看了多选框的css,发现element-style是写死的 添加style="width:100%" ,就可以解决 ...

     

    在用vue时,用到了element组件的 el-input 和 el-select(多选框)组件,但是宽度显示不一样,查看了多选框的css,发现element-style是写死的

    添加style="width:100%" ,就可以解决

    展开全文
  • 因为我们的需求是需要开始时间和结束时间两个时间点,所以我直接把开始时间和结束时间封装在了一起,并且没有区分12时计时法和24时计时法,默认成24时计时法,其实如果想加上的话只需要把定义一个全局变量,把接口透...

    公司项目里用到了TimePicker和DataPicker,但是因为项目用的版本较低,所以TimePicker和DataPicker显示出来的样式不怎么美观,那种黑白的,实在看不下去,于是自己定义了两个控件,拿出来分享一下

    首先封装一个输入框,加减可控制:

    这里写图片描述

       private void onCreat() {
            view = LayoutInflater.from(this.getContext()).inflate(R.layout.dialog_picker, this, true);
            initView();
        }

    监听点击事件和输入事件,将接口透出去:

    /**
         * 接口
         * imgAdd  +
         * imgMinus  —
         */
        public interface OnClickListener {
            //加
            void add(String inputStr);
    
            //减
            void minus(String inputStr);
    
            //输入的内容的监听
            void textChange(Editable str);
        }

    点击事件

     //点击事件  加号
            imgAdd.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (onClickListener != null) {
                        String inputStr = edInput.getText().toString();
                        onClickListener.add(inputStr);
                    }
                }
            });
     //点击事件  减号
            imgMinus.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (onClickListener != null) {
                        String inputStr = edInput.getText().toString();
                        onClickListener.minus(inputStr);
                    }
                }
            });

    输入事件监听,之前是准备让EditText中的值也可以手动输入,但是这样的话会牵涉到焦点的获取之类的,还有更多的逻辑判断,项目当时有点紧,就没有让EditText设置可输入,有兴趣的小伙伴们可以自己加上去

    edInput.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    
                }
    
                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
    
                }
    
                @Override
                public void afterTextChanged(Editable s) {
                    if (onClickListener != null) {
                        onClickListener.textChange(s);
                    }
    
                }
            });

    设置输入的长度 xml中设置了最大显示数目

        public void setInputLenth(int inputLenth) {
            if (inputLenth == 0 || String.valueOf(inputLenth).length() == 0 || "".equals(String.valueOf(inputLenth))) {
                edInput.setFilters(new InputFilter[]{new InputFilter.LengthFilter(4)});
            } else {
                //最大输入长度
                edInput.setFilters(new InputFilter[]{new InputFilter.LengthFilter(inputLenth)});
            }
        }

    因为封装的这个控件会分别用到DataPicker和Timeker 中,所以要实用多种情况,控件中间不光是一个EditText,EditText 的右面还有一个TextView,宽度设置自适应,这样就还可以通过代码直接设置显示的情况,从而实现作用于不同的场景

       /**
         * 设置显示的类型
         *
         * @param inputType tvType 显示的值 "年","月","日"
         */
        public void setInputType(String inputType) {
    
            tvType.setText(inputType);
        }
    

    设置EditText 中输入的值,一般用来设置默认的显示值

       /**
         * 设置EditText显示的内容
         *
         * @param string EditText要显示的值
         */
        public void setEdInput(String string) {
    
            edInput.setText(string);
        }
    

    获得EditText中输入的值

       public String getEdInput() {
    
            return edInput.getText().toString();
        }
    

    现在这一部分就基本完成了,接着就要开始封装TimePicker了


    封装TimePickerDialog

    这里写图片描述

    因为我们的需求是需要开始时间和结束时间两个时间点,所以我直接把开始时间和结束时间封装在了一起,并且没有区分12时计时法和24时计时法,默认成24时计时法,其实如果想加上的话只需要把定义一个全局变量,把接口透出去,就可以了,这里就不做赘述了

    view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_time, null);
            hourStart = (MyDatePickerDia) view.findViewById(R.id.date_hour_start);
            hourEnd = (MyDatePickerDia) view.findViewById(R.id.date_hour_end);
            minuteStart = (MyDatePickerDia) view.findViewById(R.id.date_minute_start);
            minuteEnd = (MyDatePickerDia) view.findViewById(R.id.date_minute_end);
            tvDate = (TextView) view.findViewById(R.id.tv_date);
            tvOk = (TextView) view.findViewById(R.id.ok);
            tvOk.setClickable(true);
            tvCancle = (TextView) view.findViewById(R.id.cancel);
            tvCancle.setClickable(true);
            //点击确定的时候把每个之前封装的控件中的值取到,然后用“:”和"-"拼接之后传出去
            tvOk.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (onClickListener != null) {
                        int hs = Integer.parseInt(hourStart.getEdInput());
                        int he = Integer.parseInt(hourEnd.getEdInput());
                        int ms = Integer.parseInt(minuteStart.getEdInput());
                        int me = Integer.parseInt(minuteEnd.getEdInput());
                        String time = String.format(format, hs) + ":" + String.format(format, ms)
                                + "-" + String.format(format, he) + ":" + String.format(format, me);
                        onClickListener.clickOk(time);
                    }
                    dismiss();
                }
            });
    //点击取消的时候,将时间设置成默认,这里是将开始时间默认设置为800,结束时间默认设置成1800
            tvCancle.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (onClickListener != null) {
                        String time = "08:00-18:00";
                        onClickListener.clickCancle(time);
                    }
                    dismiss();
                }
            });

    透出的接口

      /**
         * 接口
         */
        public interface OnClickListener {
            void clickOk(String ok);
    
            void clickCancle(String cancle);
        }

    设置确定按钮和取消按钮显示的字符串

    /**
         * 设置取消按钮的显示内容
         *
         * @param cancle 显示的内容
         */
        public void setTextCancle(String cancle) {
            tvCancle.setText(cancle);
        }
    
        /**
         * 设置确定按钮的显示内容
         *
         * @param ok
         */
        public void steTextOk(String ok) {
            tvOk.setText(ok);
        }

    设置Dialog的样式,

      /**
         * dialog 的宽高的设置
         */
        private void resize() {
            Window dialogWindow = this.getWindow();
            int width = WindowUtils.getScreenWidth(dialogWindow);
            WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值
            p.width = (int) (width * 0.85); // 宽度设置为屏幕的0.85
            dialogWindow.setAttributes(p);
        }

    设置Dialog的标题

      /**
         * 设置标题
         */
        public void setTittle(String string) {
            tvDate.setText(string);
        }

    准备工作算是基本完成了,现在该开始写逻辑了

    上班的时间中的小时的操作

     /**
         * 上班时间  -小时
         */
        private void hourStartSetting() {
            //设置最多显示两位
            hourStart.setInputLenth(2);
            //不足两位十位补零 默认设置为  08
            hourStart.setEdInput(String.format(format, 8));
            hourStart.setOnClickListener(new MyDatePickerDia.OnClickListener() {
                @Override
                public void add(String inputStr) {
                    hourAdd(true);
                }
    
                @Override
                public void minus(String inputStr) {
                    hourMinus(true);
                }
    
                @Override
                public void textChange(Editable str) {
    
                }
            });
        }

    上班分钟的操作

    /**
         * 上班时间  -分钟
         */
        private void minuteStartSetting() {
            minuteStart.setInputLenth(2);
            minuteStart.setEdInput(String.format(format, 0));
            minuteStart.setOnClickListener(new MyDatePickerDia.OnClickListener() {
                @Override
                public void add(String inputStr) {
                    minuteAdd(true);
                }
    
                @Override
                public void minus(String inputStr) {
                    minuteMinus(true);
                }
    
                @Override
                public void textChange(Editable str) {
    
                }
            });
        }
    

    下班小时操作

     /**
         * 下班时间  -小时
         */
        private void hourEndSetting() {
          //设置最多显示两位
            hourStart.setInputLenth(2);
            //不足两位十位补零 默设置为 18
            hourEnd.setEdInput(String.format(format, 18));
            hourEnd.setOnClickListener(new MyDatePickerDia.OnClickListener() {
                @Override
                public void add(String inputStr) {
                    hourAdd(false);
                }
    
                @Override
                public void minus(String inputStr) {
                    hourMinus(false);
    
                }
    
                @Override
                public void textChange(Editable str) {
    
                }
            });
        }
    

    下班分钟的操作

    /**
         * 下班时间  -分钟
         */
        private void minuEndSetting() {
            minuteEnd.setInputLenth(2);
            minuteEnd.setEdInput(String.format(format, 0));
            minuteEnd.setOnClickListener(new MyDatePickerDia.OnClickListener() {
                @Override
                public void add(String inputStr) {
                    minuteAdd(false);
                }
    
                @Override
                public void minus(String inputStr) {
                    minuteMinus(false);
                }
    
                @Override
                public void textChange(Editable str) {
    
                }
            });
    
        }
    

    小时+

     /**
         * 小时 +
         *
         * @param type 类型 true 开始  false 结束
         */
        private void hourAdd(boolean type) {
            int hour = 0;
            if (type) {
                hour = Integer.parseInt(hourStart.getEdInput());
            } else {
                hour = Integer.parseInt(hourEnd.getEdInput());
            }
            if (hour == 23) {
                hour = 0;
            } else {
                hour++;
            }
            String Hour = String.format(format, hour);
    
            if (type) {
                hourStart.setEdInput(Hour);
            } else {
                hourEnd.setEdInput(Hour);
            }
        }

    小时-

     /**
         * 小时 -
         *
         * @param type 类型 true 开始  false 结束
         */
        private void hourMinus(boolean type) {
            int hour = 0;
            if (type) {
                hour = Integer.parseInt(hourStart.getEdInput());
            } else {
                hour = Integer.parseInt(hourEnd.getEdInput());
            }
            if (hour == 0) {
                hour = 23;
            } else {
                hour--;
            }
            String Hour = String.format(format, hour);
            if (type) {
                hourStart.setEdInput(Hour);
                return;
            }
            hourEnd.setEdInput(Hour);
        }

    分钟+

     /**
         * 分钟  +
         *
         * @param type 类型 true 开始  false 结束
         */
        private void minuteAdd(boolean type) {
            int minute = 0;
            if (type) {
                minute = Integer.parseInt(minuteStart.getEdInput());
            } else {
                minute = Integer.parseInt(minuteEnd.getEdInput());
            }
            if (minute == 59) {
                minute = 0;
                if (type) {
                    hourAdd(true);
                } else {
                    hourAdd(false);
                }
            } else {
                minute++;
            }
            if (type) {
                minuteStart.setEdInput(String.format(format, minute));
                return;
            }
            minuteEnd.setEdInput(String.format(format, minute));
    
        }
    

    分钟-

    /**
         * 分钟减
         *
         * @param type 类型 true 开始  false 结束
         */
        private void minuteMinus(boolean type) {
            int minute = 0;
            if (type) {
                minute = Integer.parseInt(minuteStart.getEdInput());
            } else {
                minute = Integer.parseInt(minuteEnd.getEdInput());
            }
            if (minute == 0) {
                minute = 59;
                if (type) {
                    hourMinus(true);
                } else {
                    hourMinus(false);
                }
            } else {
                minute--;
            }
            if (type) {
                minuteStart.setEdInput(String.format(format, minute));
                return;
            }
            minuteEnd.setEdInput(String.format(format, minute));
    
        }
    

    到这里基本的逻辑也就完成的差不多了,TimePickerDialog也就基本完成了


    接下来我们接着封装DataPickerDialog

    DataPicker相比TimePicker稍微麻烦一点,原因就是DataPicker中牵扯到了闰年平年,以及12个月份每个月的天数不同
    这里写图片描述

    同样,首先,我们先 创建Diallog

     view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_date, null);
            year = (MyDatePickerDia) view.findViewById(R.id.date_year);
            month = (MyDatePickerDia) view.findViewById(R.id.date_month);
            day = (MyDatePickerDia) view.findViewById(R.id.date_day);
            tvDate = (TextView) view.findViewById(R.id.tv_date);
            tvOk = (TextView) view.findViewById(R.id.ok);
            tvOk.setClickable(true);
            tvCancle = (TextView) view.findViewById(R.id.cancel);
            tvCancle.setClickable(true);
            tvOk.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (onClickListener != null) {
                        onClickListener.clickOk(tittleShow());
                    }
                    dismiss();
                }
            });
            tvCancle.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (onClickListener != null) {
                        String now = String.valueOf(calendar.get(Calendar.YEAR)) + "年-"
                                + String.format(format, calendar.get(Calendar.MONTH) + 1) + "月-"
                                + String.format(format, calendar.get(Calendar.DAY_OF_MONTH)) + "日";
                        onClickListener.clickCancle(now);
                    }
                    dismiss();
                }
            });

    与TimePickerDialog差不多,不做赘述
    这里主要写逻辑代码
    年的设置

     /**
         * 年的设置
         */
        private void yearSetting() {
            year.setInputType("年");
            year.setInputLenth(4);
            year.setEdInput(String.valueOf(calendar.get(Calendar.YEAR)));
            year.setOnClickListener(new MyDatePickerDia.OnClickListener() {
                @Override
                public void add(String inputStr) {
                    yearAdd(inputStr);
                    tittleShow();
                }
    
                @Override
                public void minus(String inputStr) {
                    yearMinus(inputStr);
                    tittleShow();
                }
    
                @Override
                public void textChange(Editable str) {
                    tvDate.setText(str);
                }
            });
        }
    

    月的设置

    /**
         * 月的设置
         */
        private void monthSetting() {
            month.setInputType("月");
            month.setInputLenth(2);
            month.setEdInput(String.format(format, calendar.get(Calendar.MONTH) + 1));
            month.setOnClickListener(new MyDatePickerDia.OnClickListener() {
                @Override
                public void add(String inputStr) {
                    monthAdd(inputStr);
                    tittleShow();
                }
    
                @Override
                public void minus(String inputStr) {
                    monthMinus(inputStr);
                    tittleShow();
                }
    
                @Override
                public void textChange(Editable str) {
    
                }
            });
        }

    天的设置

    /**
         * 天的设置
         */
        private void daySetting() {
            day.setInputType("日");
            day.setInputLenth(2);
            day.setEdInput(String.format(format, calendar.get(Calendar.DAY_OF_MONTH)));
            day.setOnClickListener(new MyDatePickerDia.OnClickListener() {
                @Override
                public void add(String inputStr) {
                    dayAdd(inputStr);
                    tittleShow();
                }
    
                @Override
                public void minus(String inputStr) {
                    dayMinus(inputStr);
                    tittleShow();
                }
    
                @Override
                public void textChange(Editable str) {
    
                }
            });
        }

    年+

     /**
         * 年 +
         *
         * @param add
         */
        private void yearAdd(String add) {
            int input = 0;
            if (add.length() == 0 || "".equals(add) || Integer.parseInt(add) < 1900) {
                add = "1900";
                year.setEdInput(add);
            } else {
                input = Integer.parseInt(add);
                input++;
                if (input > 2100) {
                    input = 2100;
                }
                yearChange(input);
                year.setEdInput(String.valueOf(input));
            }
    
        }

    年-

     /**
         * 年 -
         *
         * @param minus
         */
        private void yearMinus(String minus) {
            int input = 0;
            if (minus.length() == 0 || "".equals(minus) || Integer.parseInt(minus) < 1900) {
                minus = "1900";
                year.setEdInput(minus);
            } else {
                input = Integer.parseInt(minus);
                if (input > 2101) {
                    input = 2101;
                }
                input--;
                if (input < 1900) {
                    input = 1900;
                }
                yearChange(input);
                year.setEdInput(String.valueOf(input));
            }
        }

    月 +

    /**
         * 月 +
         *
         * @param add
         */
        private void monthAdd(String add) {
            int input = 0;
            if ((add.length() == 0) || "".equals(add) || (Integer.parseInt(add) > 12) || (Integer.parseInt(add) < 1)) {
                add = String.format(format, calendar.get(Calendar.MONTH));
                month.setEdInput(add);
            } else {
                input = Integer.parseInt(add);
                if (input == 12) {
                    input = 1;
                    //月份变化对年的影响 +1
                    yearAdd(year.getEdInput());
                } else {
                    input++;
                    //月份变化对日的影响
                    monthChange(input);
                }
                month.setEdInput(String.format(format, input));
            }
        }

    月-

     /**
         * 月 -
         *
         * @param minus
         */
        private void monthMinus(String minus) {
            int input = 0;
            if ((minus.length() == 0) || "".equals(minus) || (Integer.parseInt(minus) > 12) || (Integer.parseInt(minus) < 1)) {
                minus = String.format(format, calendar.get(Calendar.MONTH));
                month.setEdInput(minus);
                return;
            }
            input = Integer.parseInt(minus);
            if (input == 1) {
                input = 12;
                //月份变化对年的影响 -1
                yearMinus(year.getEdInput());
            } else {
                input--;
                //月份变化对日的影响
                monthChange(input);
            }
            month.setEdInput(String.format(format, input));
        }
    
    

    日+

    /**
         * 日 +
         *
         * @param add
         */
        private void dayAdd(String add) {
            int y = Integer.parseInt(year.getEdInput());
            int m = Integer.parseInt(month.getEdInput());
            int d = Integer.parseInt(add);
            if ("".equals(add) || add.length() == 0 || d > 31 || d < 1) {
                month.setEdInput(String.format(format, calendar.get(Calendar.MONTH) + 1));
                day.setEdInput(String.format(format, calendar.get(Calendar.DAY_OF_MONTH)));
            } else if (d == 31) {
                monthAdd(String.format(format, m));
                day.setEdInput(String.format(format, 1));
            } else if (d == 30) {
                if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {
                    d++;
                    day.setEdInput(String.format(format, d));
                } else {
                    monthAdd(String.format(format, m));
                    day.setEdInput(String.format(format, 1));
                }
    
            } else if (d == 29) {
                if (m == 2) {
                    monthAdd(String.format(format, m));
                    day.setEdInput(String.format(format, 1));
                } else {
                    d++;
                    day.setEdInput(String.format(format, d));
                }
    
            } else if (d == 28) {
                if (m == 2) {
                    if (isLeapYear(y)) {
                        d++;
                        day.setEdInput(String.format(format, d));
                    } else {
                        monthAdd(String.format(format, m));
                        day.setEdInput(String.format(format, 1));
                    }
                } else {
                    d++;
                    day.setEdInput(String.format(format, d));
                }
            } else {
                d++;
                day.setEdInput(String.format(format, d));
            }
    
        }
    

    日-

    /**
         * 日 —
         *
         * @param minus
         */
        private void dayMinus(String minus) {
            int y = Integer.parseInt(year.getEdInput());
            int m = Integer.parseInt(month.getEdInput());
            int d = Integer.parseInt(minus);
            if ("".equals(minus) || minus.length() == 0 || d > 31 || d < 1) {
                day.setEdInput(String.format(format, calendar.get(Calendar.DAY_OF_MONTH)));
            } else if (d == 1) {
                //46911四个月是30天,上一个月一号减1,变成30if (m == 5 || m == 7 || m == 10 || m == 12) {
                    day.setEdInput(String.format(format, 30));
                } else if (m == 3) {
                    if (isLeapYear(y)) {
                        day.setEdInput(String.format(format, 29));
                    } else {
                        day.setEdInput(String.format(format, 28));
                    }
                } else {
                    day.setEdInput(String.format(format, 31));
                }
                monthMinus(String.format(format, m));
            } else if (d == 31) {
                if (m == 2) {
                    if (isLeapYear(y)) {
                        day.setEdInput(String.format(format, 29));
                    } else {
                        day.setEdInput(String.format(format, 28));
                    }
                } else if (m == 4 || m == 6 || m == 9 || m == 11) {
                    day.setEdInput(String.format(format, 30));
                } else {
                    d--;
                    day.setEdInput(String.format(format, d));
                }
            } else if (d == 30) {
                if (m == 2 && !isLeapYear(y)) {
                    day.setEdInput(String.format(format, 28));
                } else {
                    d--;
                    day.setEdInput(String.format(format, d));
                }
            } else {
                d--;
                day.setEdInput(String.format(format, d));
            }
    
    
        }

    不同的月份对天的影响不同

       /**
         * 月份改变对日的影响
         *
         * @param month 月份
         */
        private void monthChange(int month) {
            //2月情况特殊,需分平年闰年,特殊处理
            if (month == 2) {
                if (isLeapYear(Integer.parseInt(year.getEdInput()))) {
                    if (Integer.parseInt(day.getEdInput()) > 29) {
                        day.setEdInput("29");
                    }
                } else {
                    if (Integer.parseInt(day.getEdInput()) > 28) {
                        day.setEdInput("28");
                    }
                }
                //4,6,9,11一个月最多三十天
            } else if (month == 4 || month == 6 || month == 9 || month == 11) {
                if (Integer.parseInt(day.getEdInput()) > 30) {
                    day.setEdInput("30");
                }
            }
        }

    不同的年份对天的影响也不一样

       /**
         * 年份改变对日的影响
         *
         * @param year 年份
         */
        private void yearChange(int year) {
            int m = Integer.parseInt(month.getEdInput());
            int d = Integer.parseInt(day.getEdInput());
            if (m == 2) {
                if (isLeapYear(year)) {
                    if (d > 29) {
                        day.setEdInput("29");
                    }
                } else {
                    if (d > 28) {
                        day.setEdInput("28");
                    }
                }
            } else if (m == 4 || m == 6 || m == 9 || m == 11) {
                if (d > 30) {
                    day.setEdInput("30");
                }
            }
        }

    基姆拉尔森计算公式 ,根据日期计算星期几

    
        /**
         * 基姆拉尔森计算公式  Week=(Day + 2*Month + 3*(Month+1)/5 + Year + Year/4 - Year/100 + Year/400) % 7
         *
         * @param y 年
         * @param m 月  1,2月需要按13月,14日
         * @param d 日
         * @return
         */
        private String getWeek(int y, int m, int d) {
            String Week = "星期";
            if (m == 1) {
                m = 13;
            }
            if (m == 2) {
                m = 14;
            }
            int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
            switch (week) {
                case 0:
                    Week += "一";
                    break;
                case 1:
                    Week += "二";
                    break;
                case 2:
                    Week += "三";
                    break;
                case 3:
                    Week += "四";
                    break;
                case 4:
                    Week += "五";
                    break;
                case 5:
                    Week += "六";
                    break;
                case 6:
                    Week += "日";
                    break;
                default:
                    break;
            }
            return Week;
        }
    

    这样基本上DataPickerDialog就完成了,然后就可以使用了
    这里写图片描述


    Demo下载地址

    展开全文
  • input宽度可以自适应,select框和date框宽度无法自适应,需要给宽度设置一个100%
  • 1、ancestor descendant:在给定的祖先元素下... (2)descendant:用以匹配元素的选择器,并且它是第一个选择器的后代元素 3、实例 ancestor.html: 祖先后代选择器 body{ width:100%; height:100%; fo
  • 如图,利用element-ui自带的strat-placeholder和end-placeholder,可以修改页面上的input框占位符,但弹出框里的占位符并没有变化。 有哪位大佬能指点一下,如何修改弹出框里的占位符。谢谢! 可追加悬赏!
  • JQuery_九大选择器

    万次阅读 多人点赞 2017-07-25 18:19:07
    JQuery中九大选择器
  • jquery样式之选择器

    千次阅读 2017-11-10 15:57:22
    jquery样式之选择器大全
  • <!DOCTYPE html> <html> <head> <title>css3 语法实现div模拟Input</title> <style type="text/css"> /* div模拟输入框*/ .imitate-input{ ...
  • CSS的选择器和常用样式&lt;/title&gt; &lt;meta charset="UTF-8"/&gt; &lt;!--声明css代码域--&gt; &lt;style type="text/css"&gt; /*ID选择器*/ ...
  • jQuery与CSS3的选择器

    千次阅读 2016-08-02 16:52:44
    jQuery与CSS在选择器方面,有很多的相似之处,本文稍加总结。 注:本文以jQuery1.9.1版本和CSS3为例进行说明,CSS在选择器方面存在兼容问题,请自行分辨。1 jQuery的版本 jQuery 分 3 个系列版本 1.x 、 2.x与3.x,...
  • 11个JavaScript颜色选择器插件

    千次阅读 2016-06-29 17:10:12
    几年前,很难找到一个合适的颜色选择器。正好看到很多不错的JavaScript颜色选择器插件,故而把这些编译汇总。在本文,Web设计师和开发人员 Kevin Liew 选取了11个相应插件,有些会比较复杂,其他比较简单,相信应该...
  • 将每一个选择器匹配到的元素合并后一起返回 . 你可以指定任意多个选择器 , 并将匹配到的元素合并到一个结果内 . 其中 p.myClass 是表示匹配元素 pclass=”myClass”   <!DOCTYPE ...
  • Android:背景选择器selector及shape详解

    千次阅读 2017-05-15 12:25:36
    刚学Android的时候,所有的界面都很丑,后来学了背景选择器,就大大改善下这种情况……恩,其实写起来挺费事的,因为在as或者eclipse中,有些内容没有提示,不能自动补全,这就让经常根据提示敲代码的我有点慌了...
  • jQuery基本选择器包括 CSS选择器、层级选择器和、表单域选择器。 1.CSS选择器 (1)标签选择器  $("div") $("p") $("table") 等一系列 HTML 标签 (2)ID选择器    获取该标记的值:$("#user").val(); (3...
  • JQuery四大选择器

    千次阅读 2019-01-21 16:20:43
    基本选择器是JQuery最常用的选择器,也是最简单的选择器,它通过元素id、class和标签名来查找DOM元素(在网页中id只能使用一次,class允许重复使用)。所谓的网页中id只能使用一次的意思是说,一个网页中的id是不...
  • jQuery整理笔记二----jQuery选择器整理

    千次阅读 2014-04-19 23:40:33
    一、基本选择器 1、ID选择器 JavaScript提供了原生方法实现在DOM中选择指定ID值得元素。用法如下: var element=document.getElementById("id"); jQuery简化了其操作: var $element=$("#id"); 实际上就是 jQuery对...
  • 【jquery】jquery选择器有哪些

    千次阅读 2020-03-25 16:05:06
    4大类:基本选择器、层次选择器、过滤选择器、表单选择器 目录 1、jquery基本选择器 2、jquery层次选择器 3、jquery过滤选择器 4、jquery表单选择器 1、jquery基本选择器 基本选择器是JQuery最常用的选择器,...
  • 一些常见的伪类选择器

    千次阅读 2019-03-31 17:06:18
    一、向被激活的元素添加样式。 伪类选择器 :active 使用此伪类选择器可点击转换样式,可改变所数的类的宽度,高度,颜色等等、、、 <style>标签内容 .weileiyi{ ...
  • jQuery选择器及jQuery基本操作

    千次阅读 多人点赞 2020-03-18 20:23:31
    jq选择器2. 属性操作3. Class操作4. 样式操作5. 内容操作6. 尺寸操作 1. jq选择器 jq的选择器,就是在执行jq函数时传参 是用来获取DOM元素的方法,通过下标可以获取其中某一个DOM元素 $ 函数不管使用选择器选中了...
  • JQuery 几种选择器 和过滤器 获取标签对象 和元素 一、常用选择器 (一)★★基本选择器 #ID 选择器 : 通过id属性值查找标签对象 .class 选择器 : 通过class属性值查找标签对象 element 选择器 : 通过标签名查找...
  • JQuery选择器和操作得到的元素

    千次阅读 2012-02-19 16:48:28
    基本选择器 #myid 匹配一个Id element 匹配所有的elemnet元素 .myclass 匹配所有的类 * 匹配所有元素 selector1,selector2,selectorN 匹配满足选择器的所有元素 层次选择器 elementParent elementChild...
  • input标签属性详解大全

    万次阅读 多人点赞 2019-05-09 16:10:06
    我们先来了解一下input标签的几个基本控制属性。 name属性:元素的名称,也就是name的值代表当前input元素的名字; value属性:元素的默认值 1)当input type=“text”、“password”、"hidden"时,定义输入字段的...
  • WEB前端-CSS-选择器&常用样式/属性

    千次阅读 2016-08-16 21:48:34
    顾名思义,就是根据前面前面的关联选择器是多个选择器名字,排在后面的选择器对应的标签依次被包含在前面选择器对应的标签块中; 5、组合选择器input,div,p{ background-color:red; } 6、属性选择器:...
  • input输入框禁止显示历史记录

    万次阅读 多人点赞 2018-10-24 15:15:39
    在输入input时会显示原来输入的内容,禁止这种情况只需在input中加入: autocomplete=“off” &amp;amp;lt;input type=&amp;quot;text&amp;quot; autocomplete=&amp;quot;off&amp;quot; /&...
  • 好多Javascript日期选择器呀-5

    千次阅读 2007-03-22 00:29:00
    最精致的日历式日期输入控件 (Smart Ver 1.00)body { font-size:12px; font-family:"Tahoma";...}.inputdate{ border:1px solid #7287c6; text-align: center; font-size: 12px; font-sty
  • 1. CSS3 的选择器1.1 子选择器例如:设置div下一级的p标签的颜色属性div>p { background-color:yellow; } 1.2 相邻兄弟选择器解释:可选择紧接在另一元素后的元素,且二者有相同父元素。如果想属性设置成功:则必须...
  • CSS3新增选择器与背景图片的设置

    千次阅读 2017-09-11 09:14:19
    CSS3新增选择器与背景图片的设置 1.选择器 1.1基本选择器     1.2(层次)关系选择器     1.3动态伪类选择器   1.4目标伪类选择器   例: #html:target h3{color:#f00;} //点击a时,#html下的h3字体颜色改变 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,378
精华内容 20,951
热门标签
关键字:

input时间选择器宽度