Fixed onChange unexpeted trigger

Checking the value for a checkbox input is not wisely, prefer checking the "checked" attribute, we also need to verify if there is a value in the input because default value (for example a text input) is "" and $(this).attr("value") returns undefined.