javascript - Using multiple instances of datetimepicker working with a Range between date -


i'm trying "range between date" work multiple instances. each instance couple has different id. datetimepicker added using class, same instances:

var format = "d-m-y h:i"; var startselector = ".date_timepicker_start"; var endselector = ".date_timepicker_end"; 

now want id of field clicked, replace start end, have id of matching end field, , use result value:

$(startselector).datetimepicker( {   format : format,   onshow : function(ct) {     var selectedid = $(this).attr('id');     var selid = selectedid.replace("start", "end");     var val = $("#"+selid).val();     console.log('id: '+selectedid);     var opts = {       formatdate : "d-m-y",       maxdate : val ? val.split(' ')[0] : false     };     this.setoptions(opts);   }, 

});

the var selectedid = $(this).attr('id');returns undefined however. tried this.id etc.. got idea? i'm overlooking something..

thanks!

$(this) inside onshow method refers datetimepicker div , not input. see undefined

but onshow method has other parameters

onshow : function(date, $input, event)

you can make use second parameter , id $input.attr('id')

also, don't need such multiple selectors. can this

<input type="text" class="datetimepicker" id="start" /> <input type="text" class="datetimepicker" id="end"/> 

now can use 1 selector this

$('.datetimepicker').datetimepicker({   onshow: function(date, $input, event){     alert($input.attr('id'));   } }); 

var format = "d-m-y h:i";  // var startselector = ".date_timepicker_start";  // var endselector = ".date_timepicker_end";  var options = {    format: format,    onshow: function(date, $input, event) {      alert($input.attr('id'));    }  };  /* date picker validation js */  $('.datetimepicker').datetimepicker(options);
.xdsoft_datetimepicker {    box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.506);    background: #ffffff;    border-bottom: 1px solid #bbbbbb;    border-left: 1px solid #cccccc;    border-right: 1px solid #cccccc;    border-top: 1px solid #cccccc;    color: #333333;    font-family: "helvetica neue", "helvetica", "arial", sans-serif;    padding: 8px;    padding-left: 0;    padding-top: 2px;    position: absolute;    z-index: 9999;    -moz-box-sizing: border-box;    box-sizing: border-box;    display: none;  }  .xdsoft_datetimepicker iframe {    position: absolute;    left: 0;    top: 0;    width: 75px;    height: 210px;    background: transparent;    border: none;  }  /*for ie8 or lower*/    .xdsoft_datetimepicker button {    border: none !important;  }  .xdsoft_noselect {    -webkit-touch-callout: none;    -webkit-user-select: none;    -khtml-user-select: none;    -moz-user-select: none;    -ms-user-select: none;    -o-user-select: none;    user-select: none;  }  .xdsoft_noselect::selection {    background: transparent;  }  .xdsoft_noselect::-moz-selection {    background: transparent;  }  .xdsoft_datetimepicker.xdsoft_inline {    display: inline-block;    position: static;    box-shadow: none;  }  .xdsoft_datetimepicker * {    -moz-box-sizing: border-box;    box-sizing: border-box;    padding: 0;    margin: 0;  }  .xdsoft_datetimepicker .xdsoft_datepicker,  .xdsoft_datetimepicker .xdsoft_timepicker {    display: none;  }  .xdsoft_datetimepicker .xdsoft_datepicker.active,  .xdsoft_datetimepicker .xdsoft_timepicker.active {    display: block;  }  .xdsoft_datetimepicker .xdsoft_datepicker {    width: 224px;    float: left;    margin-left: 8px;  }  .xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker {    width: 256px;  }  .xdsoft_datetimepicker .xdsoft_timepicker {    width: 58px;    float: left;    text-align: center;    margin-left: 8px;    margin-top: 0;  }  .xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker {    margin-top: 8px;    margin-bottom: 3px  }  .xdsoft_datetimepicker .xdsoft_mounthpicker {    position: relative;    text-align: center;  }  .xdsoft_datetimepicker .xdsoft_label i,  .xdsoft_datetimepicker .xdsoft_prev,  .xdsoft_datetimepicker .xdsoft_next,  .xdsoft_datetimepicker .xdsoft_today_button {    background-image: url(data:image/png;base64,ivborw0kggoaaaansuheugaaagqaaaaecayaaadaw7vzaaaagxrfwhrtb2z0d2fyzqbbzg9izsbjbwfnzvjlywr5ccllpaaaayjpvfh0we1momnvbs5hzg9izs54bxaaaaaaadw/ehbhy2tldcbizwdpbj0i77u/iibpzd0ivzvnme1wq2voauh6cmvtek5uy3pryzlkij8+idx4onhtcg1ldgegeg1sbnm6ed0iywrvymu6bnm6bwv0ys8iihg6eg1wdgs9ikfkb2jlifhnucbdb3jliduumy1jmdexidy2lje0nty2mswgmjaxmi8wmi8wni0xndo1njoynyagicagicagij4gphjkzjpsreygeg1sbnm6cmrmpsjodhrwoi8vd3d3lnczlm9yzy8xotk5lzaylziylxjkzi1zew50yxgtbnmjij4gphjkzjpezxnjcmlwdglvbibyzgy6ywjvdxq9iiigeg1sbnm6eg1wpsjodhrwoi8vbnmuywrvymuuy29tl3hhcc8xljaviib4bwxuczp4bxbntt0iahr0cdovl25zlmfkb2jllmnvbs94yxavms4wl21tlyigeg1sbnm6c3rszwy9imh0dha6ly9ucy5hzg9izs5jb20vegfwlzeumc9zvhlwzs9szxnvdxjjzvjlzimiihhtcdpdcmvhdg9yvg9vbd0iqwrvymugughvdg9zag9wientniaov2luzg93cykiihhtce1nokluc3rhbmnlsuq9inhtcc5pawq6q0nbrji1njm0m0uwmtffndk4nkfgmzjfqkqzqjewruiiihhtce1nokrvy3vtzw50suq9inhtcc5kawq6q0nbrji1njq0m0uwmtffndk4nkfgmzjfqkqzqjewruiipia8eg1wtu06rgvyaxzlzezyb20gc3rszwy6aw5zdgfuy2vjrd0ieg1wlmlpzdpdq0fgmju2mtqzrtaxmuu0otg2quyzmkvcrdncmtbfqiigc3rszwy6zg9jdw1lbnrjrd0ieg1wlmrpzdpdq0fgmju2mjqzrtaxmuu0otg2quyzmkvcrdncmtbfqiivpia8l3jkzjpezxnjcmlwdglvbj4gpc9yzgy6ukrgpia8l3g6eg1wbwv0yt4gpd94cgfja2v0igvuzd0icii/ponep54aaaiosurbvhja7jq9tsmwemcxrzd4wpbyekuce+ktmcachzh4bffho/aaihzgfhykbbsseqxslcagxkhbxyotxh9pfjvp+qutnz5s/5lz2y5i03qhwji2gicgaokwgfcxnvcoccgkqisqhup0lahone05vdeygmfkdxjdvjgwdleqgyqbgx+uljawsxxs6r/er5fbvr8vfgfttkcitns+a1xpcfoexreidf14avifxgqus+h520cdud6wnkc0ubw6bco/hocywbhd8qckq/x1mwdyd4plh4d6ddv0tagyo4hcawlibbsldkheh0mg2yvp3l4tqmzqddseol/mghqqhmnue0d+obh0cir8makyazbh9wybukxdwgbxfjnf32tz1kwm/ap1osk/r53utq5xth3lulmmt8gt6g51q9p+sobxgjq/qmsfzhwywgfsl0ybjcljcmgxail3b7+rumdvj2yrss4cn+r6qahdkpwjpjdjcf4n9rmad/v9a/wp4nqassdjwlb6xbicxcjqwmzzb8thfilfy/lfrtvlghq2tqthrrmtknj0sihdo15rt+rpywwfdy96uz/ldqkbgjcxpcc1alsfeflmoud+1knuxbduvrvobmooc/recn7oqxkvejtciaduzujha2oez9qtkp72otvcxdcxy8iknkxgajxmjcoqwoa6dhyxsoa6xwegakdeb5et3rqdaaaaaelftksuqmcc);  }  .xdsoft_datetimepicker .xdsoft_label {    opacity: 0.5;    background-position: -92px -19px;    display: inline-block;    width: 9px;    height: 20px;    vertical-align: middle;  }  .xdsoft_datetimepicker .xdsoft_prev {    float: left;    background-position: -20px 0;  }  .xdsoft_datetimepicker .xdsoft_today_button {    float: left;    background-position: -70px 0;    margin-left: 5px;  }  .xdsoft_datetimepicker .xdsoft_next {    float: right;    background-position: 0 0;  }  .xdsoft_datetimepicker .xdsoft_next,  .xdsoft_datetimepicker .xdsoft_prev,  .xdsoft_datetimepicker .xdsoft_today_button {    background-color: transparent;    background-repeat: no-repeat;    border: 0 none currentcolor;    cursor: pointer;    display: block;    height: 30px;    opacity: 0.5;    -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=50)";    outline: medium none currentcolor;    overflow: hidden;    padding: 0;    position: relative;    text-indent: 100%;    white-space: nowrap;    width: 20px;  }  .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,  .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {    float: none;    background-position: -40px -15px;    height: 15px;    width: 30px;    display: block;    margin-left: 14px;    margin-top: 7px;  }  .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {    background-position: -40px 0;    margin-bottom: 7px;    margin-top: 0;  }  .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {    height: 151px;    overflow: hidden;    border-bottom: 1px solid #dddddd;  }  .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div {    background: #f5f5f5;    border-top: 1px solid #dddddd;    color: #666666;    font-size: 12px;    text-align: center;    border-collapse: collapse;    cursor: pointer;    border-bottom-width: 0;    height: 25px;    line-height: 25px;  }  .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div > div:first-child {    border-top-width: 0;  }  .xdsoft_datetimepicker .xdsoft_today_button:hover,  .xdsoft_datetimepicker .xdsoft_next:hover,  .xdsoft_datetimepicker .xdsoft_prev:hover {    opacity: 1;    -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=100)";  }  .xdsoft_datetimepicker .xdsoft_label {    display: inline;    position: relative;    z-index: 9999;    margin: 0;    padding: 5px 3px;    font-size: 14px;    line-height: 20px;    font-weight: bold;    background-color: #fff;    float: left;    width: 182px;    text-align: center;    cursor: pointer;  }  .xdsoft_datetimepicker .xdsoft_label:hover>span {    text-decoration: underline;  }  .xdsoft_datetimepicker .xdsoft_label:hover {    opacity: 1.0;  }  .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select {    border: 1px solid #ccc;    position: absolute;    right: 0;    top: 30px;    z-index: 101;    display: none;    background: #fff;    max-height: 160px;    overflow-y: hidden;  }  .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect {    right: -7px;  }  .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect {    right: 2px;  }  .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {    color: #fff;    background: #ff8000;  }  .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option {    padding: 2px 10px 2px 5px;    text-decoration: none !important;  }  .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {    background: #33aaff;    box-shadow: #178fe5 0 1px 3px 0 inset;    color: #fff;    font-weight: 700;  }  .xdsoft_datetimepicker .xdsoft_month {    width: 100px;    text-align: right;  }  .xdsoft_datetimepicker .xdsoft_calendar {    clear: both;  }  .xdsoft_datetimepicker .xdsoft_year {    width: 48px;    margin-left: 5px;  }  .xdsoft_datetimepicker .xdsoft_calendar table {    border-collapse: collapse;    width: 100%;  }  .xdsoft_datetimepicker .xdsoft_calendar td > div {    padding-right: 5px;  }  .xdsoft_datetimepicker .xdsoft_calendar th {    height: 25px;  }  .xdsoft_datetimepicker .xdsoft_calendar td,  .xdsoft_datetimepicker .xdsoft_calendar th {    width: 14.2857142%;    background: #f5f5f5;    border: 1px solid #dddddd;    color: #666666;    font-size: 12px;    text-align: right;    vertical-align: middle;    padding: 0;    border-collapse: collapse;    cursor: pointer;    height: 25px;  }  .xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,  .xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th {    width: 12.5%;  }  .xdsoft_datetimepicker .xdsoft_calendar th {    background: #f1f1f1;  }  .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {    color: #33aaff;  }  .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,  .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,  .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {    background: #33aaff;    box-shadow: #178fe5 0 1px 3px 0 inset;    color: #fff;    font-weight: 700;  }  .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,  .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,  .xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled {    opacity: 0.5;    -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=50)";  }  .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled {    opacity: 0.2;    -ms-filter: "progid:dximagetransform.microsoft.alpha(opacity=20)";  }  .xdsoft_datetimepicker .xdsoft_calendar td:hover,  .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover {    color: #fff !important;    background: #ff8000 !important;    box-shadow: none !important;  }  .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,  .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover {    color: inherit !important;    background: inherit !important;    box-shadow: inherit !important;  }  .xdsoft_datetimepicker .xdsoft_calendar th {    font-weight: 700;    text-align: center;    color: #999;    cursor: default;  }  .xdsoft_datetimepicker .xdsoft_copyright {    color: #ccc !important;    font-size: 10px;    clear: both;    float: none;    margin-left: 8px;  }  .xdsoft_datetimepicker .xdsoft_copyright {    color: #eee !important;  }  .xdsoft_datetimepicker .xdsoft_copyright a:hover {    color: #aaa !important;  }  .xdsoft_time_box {    position: relative;    border: 1px solid #ccc;  }  .xdsoft_scrollbar >.xdsoft_scroller {    background: #ccc !important;    height: 20px;    border-radius: 3px;  }  .xdsoft_scrollbar {    position: absolute;    width: 7px;    right: 0;    top: 0;    bottom: 0;    cursor: pointer;  }  .xdsoft_scroller_box {    position: relative;  }  .xdsoft_datetimepicker.xdsoft_dark {    box-shadow: 0 5px 15px -5px rgba(255, 255, 255, 0.506);    background: #000000;    border-bottom: 1px solid #444444;    border-left: 1px solid #333333;    border-right: 1px solid #333333;    border-top: 1px solid #333333;    color: #cccccc;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box {    border-bottom: 1px solid #222222;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div {    background: #0a0a0a;    border-top: 1px solid #222222;    color: #999999;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label {    background-color: #000;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select {    border: 1px solid #333;    background: #000;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {    color: #000;    background: #007fff;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {    background: #cc5500;    box-shadow: #b03e00 0 1px 3px 0 inset;    color: #000;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button {    background-image: url(data:image/png;base64,ivborw0kggoaaaansuheugaaagqaaaaecayaaadaw7vzaaaagxrfwhrtb2z0d2fyzqbbzg9izsbjbwfnzvjlywr5ccllpaaaayjpvfh0we1momnvbs5hzg9izs54bxaaaaaaadw/ehbhy2tldcbizwdpbj0i77u/iibpzd0ivzvnme1wq2voauh6cmvtek5uy3pryzlkij8+idx4onhtcg1ldgegeg1sbnm6ed0iywrvymu6bnm6bwv0ys8iihg6eg1wdgs9ikfkb2jlifhnucbdb3jliduumy1jmdexidy2lje0nty2mswgmjaxmi8wmi8wni0xndo1njoynyagicagicagij4gphjkzjpsreygeg1sbnm6cmrmpsjodhrwoi8vd3d3lnczlm9yzy8xotk5lzaylziylxjkzi1zew50yxgtbnmjij4gphjkzjpezxnjcmlwdglvbibyzgy6ywjvdxq9iiigeg1sbnm6eg1wpsjodhrwoi8vbnmuywrvymuuy29tl3hhcc8xljaviib4bwxuczp4bxbntt0iahr0cdovl25zlmfkb2jllmnvbs94yxavms4wl21tlyigeg1sbnm6c3rszwy9imh0dha6ly9ucy5hzg9izs5jb20vegfwlzeumc9zvhlwzs9szxnvdxjjzvjlzimiihhtcdpdcmvhdg9yvg9vbd0iqwrvymugughvdg9zag9wientniaov2luzg93cykiihhtce1nokluc3rhbmnlsuq9inhtcc5pawq6quexquuzota0m0uymtffndlbm0ffqtjentexrdvbodyiihhtce1nokrvy3vtzw50suq9inhtcc5kawq6quexquuzote0m0uymtffndlbm0ffqtjentexrdvbodyipia8eg1wtu06rgvyaxzlzezyb20gc3rszwy6aw5zdgfuy2vjrd0ieg1wlmlpzdpbqtfbrtm4rtqzrtixmuu0ouezquvbmkq1mtfenue4niigc3rszwy6zg9jdw1lbnrjrd0ieg1wlmrpzdpbqtfbrtm4rjqzrtixmuu0ouezquvbmkq1mtfenue4niivpia8l3jkzjpezxnjcmlwdglvbj4gpc9yzgy6ukrgpia8l3g6eg1wbwv0yt4gpd94cgfja2v0igvuzd0icii/pp0vxgeaaaiasurbvhja7jrnsgmxemebtgh+3mslr1t1xn2choskb08+qmr8bx9a8e7rixdb9ckcondexiugxflja7rnznetblipm/cnnlsdmvnjm8l0mrciq9ye61ikcagzaunh+mu3mmzahychbnjudzwofzdvfc5+zflbrwdexpwbxiqrllfaes0hebvgirqceizohqwtlgsbyccdybl8g8egttawokqmrbrbczxylhzhkegqmoageerschvkk3hxifoodghb1kkhihvgzkb4adjq/a1jafmayhkqqa5tobtocrkrgxwqa8gcfiuaio8sqsa7hidvpwaqgzsaayhouwjabhwww2emih9qagqeru4sarjxo0zzl18uvaxejxt/em8xjvbxmvfr1kvm/aj10tre2xnranqajvke3khuubfk1e+vhb0q40/y3sdqsxy4fhwekjcunp8uyddqjzent3ntvv5jiycah20vt7iop8tpf6e2lfemwere+whv1mhjwzb7pbicxcgqwwkzkd62lfgnnp/1pofaa60t7rf1ugckd2id3kdeus+olwv8dfwaepofq00cgqabi9zjcgjvyvd7pvzquaugaqkbnjtbicdhgwytjdyd6xew08zkh+a4pykzenoxxubvzcwz7e8ykrmnihgx1xpl+1m2vpypl+2qdb8cdaarlkfez/zvkaaaaabjru5erkjggg==);  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {    background: #0a0a0a;    border: 1px solid #222222;    color: #999999;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {    background: #0e0e0e;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today {    color: #cc5500;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {    background: #cc5500;    box-shadow: #b03e00 0 1px 3px 0 inset;    color: #000;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div:hover {    color: #000 !important;    background: #007fff !important;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {    color: #666;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright {    color: #333 !important;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright {    color: #111 !important;  }  .xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover {    color: #555 !important;  }  .xdsoft_dark .xdsoft_time_box {    border: 1px solid #333;  }  .xdsoft_dark .xdsoft_scrollbar >.xdsoft_scroller {    background: #333 !important;  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  <script src="https://rawgit.com/xdan/datetimepicker/master/jquery.datetimepicker.js"></script>  <div class="input-daterange input-group">    <input type="text" class="input-sm form-control datetimepicker" id="start" autocomplete="off" />    <span class="input-group-addon">to</span>    <input type="text" class="input-sm form-control datetimepicker" id="end" autocomplete="off" />  </div>


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -