How can I get values of inputs that have the same class using JQuery each?

前端 未结 4 1106
灰色年华
灰色年华 2021-01-28 07:32

This should be easy, but I can\'t seem to get it right.

var totalHours = 0;
this.$(\".timesheet-daily-input\").each( function () {
    var inputValue = $(this).t         


        
相关标签:
4条回答
  • 2021-01-28 07:42
    var inputValue = $(this).val();
    
    0 讨论(0)
  • 2021-01-28 07:42

    It's hard to tell without more code but change

    var inputValue = $(this).text();
    var hours = parseInt(inputValue);
    totalHours += (hours == null) ? 0 : hours;
    

    to

    var inputValue = $(this).val(); // use val
    var hours = parseInt(inputValue, 10); // use 10 as radix
    totalHours += isNaN(hours) ? 0 : hours; // compare to NaN instead of null
    

    Note that parseInt("09") is 0 and that the result of parseInt cannot be null.

    0 讨论(0)
  • 2021-01-28 07:47

    Couldn't find an exact solution, but changed my approach by selecting the parent div, and looping through it's child elements.

    var totalHours = 0;
    this.$("#timesheet-daily-entry-fields-container").children().each(function () {
        var inputValue = $(this).val();
        var hours = parseInt(inputValue);
        totalHours += isNaN(hours) ? 0 : hours;
    });
    
    0 讨论(0)
  • 2021-01-28 08:06

    Get rid of the this. before $(".timesheet-daily-input") and use $(this).val() to get the value of the inputs.

    0 讨论(0)
提交回复
热议问题