如何使用documentid javascript获取输入字段的值

时间:2017-08-27 04:11:35

标签: javascript jquery html

此函数使用带有HTML的jQuery和javascript,但无法按预期工作。

使用具有预设格式的日期范围选择器,使用时刻和引导程序js。我需要从输入框中获取日期范围值。 无法在警报或控制台中获取日期范围。 使用getElementById需要获取日期范围的值

$(function() { 
    var start = moment().subtract(29, 'days');
    var end = moment(); 
    function cb(start, end) { 
        $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
    }
    $('#reportrange').daterangepicker({
        startDate: start, endDate: end, 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')] 
        } 
    }, cb);
    cb(start, end); 
});

获取日期范围

function myFunction() { 
    var x = document.getElementById("reportrange").value;
    console.log(x); 
    document.getElementById("demo").innerHTML = x; 
}

<html><!-- Include Required Prerequisites -->
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/bootstrap/3/css/bootstrap.css" />
 
<!-- Include Date Range Picker -->
<script type="text/javascript" src="https://cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.css" />
<script type="text/javascript">
$(function() {

    var start = moment().subtract(29, 'days');
    var end = moment();

    function cb(start, end) {
        $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
    }

    $('#reportrange').daterangepicker({
        startDate: start,
        endDate: end,
        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')]
        }
    }, cb);

    cb(start, end);
    
});


</script>

<body>
<div id="reportrange"  class="pull-left" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 29%">
    <i class="glyphicon glyphicon-calendar fa fa-calendar"></i>&nbsp;
    <span></span> <b class="caret"></b>
</div>

<button onclick="myFunction()">Get Date Range</button>

<p id="demo"></p>

<script>
function myFunction() {
    var x = document.getElementById("reportrange").value;
    console.log(x);
	alert(x);
   
}
</script>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

更改myFunction以显示以下内容

function myFunction() {
    var x = $("#reportrange").text();
    console.log(x);
    alert(x);

}

我替换了document.getElementById,因为您已经在使用jQuery并且应该只使用jQuery函数$而不是value这是一个并非所有DOM都具有的属性,您应该调用{ {1}}。要获取DOM的值,通常可以调用text text()html(),但它们可以用于不同的目的。 The documentation for text() illustrates this

val()