Jquery selector to find out count of non empty inputs

javascript, jquery, knockout.js

Solution

You can pass in a filter function rather than a selector:

$('#container input[type="text"]').filter(function () {
    return !!this.value;
}).length;

Problem

I have the below HTML DOM ``` <div id="container> <p data-bind="visible:ShowPostCode()"> <label class="field-label" for="postcode">Postcode</label> <input id="txtPostCode" data-bind="value:PostCode, valueUpdate: &quot;afterkeydown&quot;" class="field-stretch" type="text"> </p> <p data-bind="visible:ShowDateOfBirth()"> <label class="field-label" for="dateofbirth">Date of birth</label> <input data-bind="value:DateOfBirth, valueUpdate: &quot;afterkeydown&quot;" class="field-stretch" type="text"> </p> <p style="display: none;" data-bind="visible:ShowtelephoneNumber()"> <label class="field-label" for="telephoneNumber">Telephone number</label> <input data-bind="value:DrivingLicenceNumber, valueUpdate: &quot;afterkeydown&quot;" class="field-stretch" type="text"> </p> </div> ``` I would like to get the no of non-empty input boxes. This is what i tried ``` $('#container input[type="text"][value!=""]').length ``` or ``` $('#container input[type="text"]').filter('input[value!=""]').length ``` even when i input some values it is always showing as zero . what is wrong with these selectors i tried and why it is not working?

Original source