Не удается получить значение выбранной даты из Bootstrap-datetimepicker - PullRequest
0 голосов
/ 19 марта 2019

Мне нужно получить значение, отображаемое в моем input после закрытия календаря.

Ниже приведен код, который я пробовал, но никогда не нажимал ни на один из них

    $('#startDate').click(function () {
       console.log('1: ' + $('#startDate').val())
    })

    $('#startDate').change(function () {
       console.log('1.25: ' + $('#startDate').val())
    })

    $('#startDate').on("change", function() {
        alert($(this).val()); 
    });

    $('#startDate').on("change paste keyup", function() {
        alert($(this).val()); 
    });

    $("#startDate").on("input propertychange",function(){
        alert($(this).val());
    });

    $("#startDate").on("change paste keyup select", function() {
        alert($(this).val());
    });

    $("#startDate").bind('change', function(event) {
        alert( $("#startDate").attr("value") );
    });

Это мойHTML

<div class="col-md-3 col-lg-2 col-sm-12 col-xs-12">
<label for="startDate">Start date (MM/YYYY)</label>
<div class="input-group datetime" id="start_picker"
    data-date-format="MM/YYYY">
    <input type="text" name="startDate" id="startDate"
        class="form-control make-datepicker" data-date-format="MM/YYYY"
        data-parsley-date="" maxlength="7" autocomplete="off">
    <span class="input-group-addon">
        <span class="fa fa-calendar"></span>
    </span>
</div>

Я также пытался onchange на элементе input (<input id="startDate" onchange="test()">), который должен вызывать вызов функции в моем JQuery, но все равно ничего.

IМне нужно значение, чтобы я мог отфильтровать таблицу, но теперь я в тупике.

Эта строка работает, хотя, когда я впервые щелкаю в поле, чтобы отобразить календарь

    $('#startDate').click(function () {
        console.log('1: ' + $('#startDate').val())
    })

enter image description here

1 Ответ

1 голос
/ 19 марта 2019

Пожалуйста, включите момент JS после попробуйте этот код:

$('#startDate').on('changeDate', function(ev){

    console.log(moment(ev.date).format('YYYY-MM-DD'));

});

OR

$('#startDate').datepicker().on('changeDate', function(e) {

    console.log(moment(e.date).format('YYYY-MM-DD'));

});
...