Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 限制iOS Phonegap应用程序中本机日期选择器的可选日期_Html_Ios_Cordova_Datepicker - Fatal编程技术网

Html 限制iOS Phonegap应用程序中本机日期选择器的可选日期

Html 限制iOS Phonegap应用程序中本机日期选择器的可选日期,html,ios,cordova,datepicker,Html,Ios,Cordova,Datepicker,我正在开发一个带有Phonegap构建的iOS应用程序,我正在使用输入数据类型毫无问题地调用本机日期选择器并选择一些日期,但我想限制可选择的日期 我尝试过输入的min和max属性,但都被忽略了。在iOS 6和iOS 7上测试 这是我的密码: <input id="fecha-buscar" type="date" min="2014-01-01" max="2014-12-31" value="2014-01-01"> 我找到了,但没有回答 你知道怎么解决这个问题吗?可以修复的最小

我正在开发一个带有Phonegap构建的iOS应用程序,我正在使用输入数据类型毫无问题地调用本机日期选择器并选择一些日期,但我想限制可选择的日期

我尝试过输入的min和max属性,但都被忽略了。在iOS 6和iOS 7上测试

这是我的密码:

<input id="fecha-buscar" type="date" min="2014-01-01" max="2014-12-31" value="2014-01-01">
我找到了,但没有回答

你知道怎么解决这个问题吗?可以修复的最小和最大属性或其他方式,但调用iOS的本机日期选择器


谢谢

fwiw,使用本地cordova而不是pg构建,我想我应该与大家分享这项工作

在MainViewController.m中

- (void)viewDidLoad
{
         :
    /* add this somewhere */
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_pickerViewWillBeShown:) name: UIKeyboardWillShowNotification object:nil];
         :
}

- (void)_pickerViewWillBeShown:(NSNotification*)aNotification {
    [self performSelector:@selector(_resetPickerViewBackgroundAfterDelay) withObject:nil afterDelay:0];
}

-(void)_resetPickerViewBackgroundAfterDelay
{
    UIPickerView *pickerView = nil;
    for (UIWindow *uiWindow in [[UIApplication sharedApplication] windows]) {
        for (UIView *uiView in [uiWindow subviews]) {
            pickerView = [self _findPickerView:uiView];
        }
    }

    if (pickerView){
        NSDate *now = [NSDate date];
        NSCalendar *calendar = [[NSCalendar alloc]    initWithCalendarIdentifier:NSGregorianCalendar];
        NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:now];
        //set for today at 8 am
        [components setHour:8];
        NSDate *todayAtTime = [calendar dateFromComponents:components];
        //set max at now + 60 days
        NSDate *futureDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * 60];

//        [pickerView setBackgroundColor:[UIColor greenColor]];
        [pickerView.superview setValue:@"15" forKey:@"minuteInterval"];
        [pickerView.superview setValue:futureDate forKey:@"maximumDate"];
        [pickerView.superview setValue:todayAtTime forKey:@"minimumDate"];
    }
}

-(UIPickerView *) _findPickerView:(UIView *)uiView
{
        if ([uiView isKindOfClass:[UIPickerView class]] ){
            return (UIPickerView*) uiView;
        }

        if ([uiView subviews].count > 0) {
            for (UIView *subview in [uiView subviews]){
                UIPickerView* view = [self _findPickerView:subview];
                if (view)
                    return view;
            }
        }
        return nil;
}

使用iOS 6/7、Cordova 3.5、devices/sim卡进行了测试,我刚刚找到了phonegap/Cordova的datepicker插件,它有最小值和最大值选项。

我正在使用Phonegap Build而不是Cordova编译我的应用程序,我如何使用这些代码?我想你必须开发并提交一个插件供他们考虑。不确定他们是否允许自定义插件。这也是我为什么不使用PG构建的原因……已经使用这项工作了几年。幸运的是,我也面临着这个问题。杰贝尔,你找到解决办法了吗?我觉得cordova的datepicker插件是一种单一的方式