使用jQuery Calendar禁用重复日期

时间:2016-01-01 06:55:19

标签: javascript jquery jquery-ui

我想使用jQuery日历全年禁用第二个星期六,第四个星期六,星期日和公众假期。

2 个答案:

答案 0 :(得分:0)

  

Jquery Calendar插件为您提供“beforeShowDay”选项,您可以   查找有关DataPickerUI的更多信息

     

禁用第二个星期六&第四个星期六,你需要先计算特定月份的坐月或星期日然后禁用那些日期,就像我们为其他日历做的那样

     

示例代码计算sat&星期日https://www.hscripts.com/scripts/JavaScript/second-fourth.php

     

为您创造了plunker,   https://plnkr.co/edit/inBYY748BptaCd7Ulwwg?p=preview

                //To disable Sundays you need to find out the Day of current date.
            $(function () {
                var publicHolidays = [
                  [11, 28, 2015],
                  [11, 30, 2015]
                ];

                $("#datepicker").datepicker({
                    beforeShowDay: function (date) {
                        var day = date.getDay();
                        return [(day !== 0), ''];
                    }
                });

                //To disable public holidays create an array with you holiday list then
                //return false when you browse calender.

                $("#datepicker2").datepicker({
                    beforeShowDay: function (date) {
                        for (i = 0; i < publicHolidays.length; i++) {
                            if (date.getMonth() == publicHolidays[i][0] &&
                              date.getDate() == publicHolidays[i][1] &&
                              date.getFullYear() == publicHolidays[i][2]) {
                                return [false];
                            }
                        }
                        return [true];
                    }
                });
            });

答案 1 :(得分:0)

对于它的价值,这里有第二个/第四个星期六部分问题的几个功能。

这两个函数都接受javascript public class MainActivity extends Activity { Button button; private ProgressDialog progressDialog; /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Get the view from main.xml setContentView(R.layout.activity_main); // Show progress dialog // Locate the button in main.xml button = (Button) findViewById(R.id.button); // Capture button clicks button.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { progressDialog = ProgressDialog.show(MainActivity.this, "", "Downloading Image...", true); // Locate the class table named "ImageUpload" in Parse.com ParseQuery<ParseObject> query = new ParseQuery<ParseObject>( "ImageUploads"); // Locate the objectId from the class query.getInBackground("h3FvFzrHPr", new GetCallback<ParseObject>() { public void done(ParseObject object, ParseException e) { // TODO Auto-generated method stub // Locate the column named "ImageName" and set // the string ParseFile fileObject = (ParseFile) object .get("imageContent"); fileObject .getDataInBackground(new GetDataCallback() { public void done(byte[] data, ParseException e) { if (e == null) { Log.d("test", "We've got data in data."); // Decode the Byte[] into // Bitmap Bitmap bmp = BitmapFactory .decodeByteArray( data, 0, data.length); // Get the ImageView from // main.xml ImageView image = (ImageView) findViewById(R.id.image); // Set the Bitmap into the // ImageView image.setImageBitmap(bmp); // Close progress dialog progressDialog.dismiss(); } else { Log.d("test", "There was a problem downloading the data."); } } }); } }); } }); } } 的实例并返回Date()true。你可以使用其中任何一个。

false

希望function is2ndOr4thSat_1(date) { var day = date.getDay(), week = Math.floor(date.getDate() / 7); return day == 6 && (week == 1 || week == 3) } 是自我解释的。

is2ndOr4thSat_1()

function is2ndOr4thSat_2(date) { var d = date.getDate(), offset = (((1 + date.getDay() - d) % 7) + 7) % 7; return !((offset + d) % 14); } 更加模糊。

表达式is2ndOr4thSat_2()使用真正的模数算法来查找负数的真正模数算法,从名义零点(星期六的第一个星期六)中找到该月的第一个偏移量。

如果(((1 + date.getDay() - d) % 7) + 7) % 7比标称零点提前14或28天,(offset + d) % 14会返回0date会转换为所需意义的布尔值! 1}}用于限定星期六,否则true)。