多个DateRangePicker在同一表单上

时间:2017-01-02 09:10:10

标签: jquery datepicker jquery-ui-datepicker daterangepicker

我写了以下代码。

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
    applicationId "ir.pdnco.myapplication"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.0'
testCompile 'junit:junit:4.12'
}

我遇到的问题是更新两个报告范围的值,console.log(start2)返回一个文本值,例如“今天”或“昨天”,所以它以“今天”的错误结束.format('MMMM D,YYYY')并没有真正起作用......

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

最后我找到了解决方案,问题来自变量范围。

startnew = moment().subtract(1, 'days');
endnew = moment().subtract(1, 'days');
startnew2 =moment().subtract(2, 'days');
endnew2 =moment().subtract(2, 'days');

function cb3(start, end) {
            startnew = start;
            endnew = end;
            $('#reportrange3 span').html(startnew.format('MMMM D, YYYY') + ' - ' + endnew.format('MMMM D, YYYY'));
            retrievedata(startnew.format('YYYY-MM-DD'),endnew.format('YYYY-MM-DD'),startnew2.format('YYYY-MM-DD'),endnew2.format('YYYY-MM-DD'));

        }
function cb4(start2, end2) {
            startnew2 = start2;
            endnew2 = end2;
            $('#reportrange4 span').html(start2.format('MMMM D, YYYY') + ' - ' + endnew2.format('MMMM D, YYYY'));
            retrievedata(startnew.format('YYYY-MM-DD'),endnew.format('YYYY-MM-DD'),startnew2.format('YYYY-MM-DD'),endnew2.format('YYYY-MM-DD'));
        }



$('#reportrange3').daterangepicker({
            startDate: startnew,
            endDate: endnew,
            ranges: {
               'Today': [moment(), moment()],
               'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
               'Last 7 Days': [moment().subtract(6, 'days'), moment()],
               'Last 30 Days': [moment().subtract(29, 'days'), moment()],
               'This Month': [moment().startOf('month'), moment().endOf('month')],
               'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
            }
        }, cb3);

$('#reportrange4').daterangepicker({
            startDate: startnew2,
            endDate: endnew2,
            ranges: {
               'Today': [moment(), moment()],
               'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
               'Last 7 Days': [moment().subtract(6, 'days'), moment()],
               'Last 30 Days': [moment().subtract(29, 'days'), moment()],
               'This Month': [moment().startOf('month'), moment().endOf('month')],
               'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
            }
        }, cb4);

cb3(startnew, endnew);
cb4(startnew2, endnew2);