fix .text(val) for empty strings and zero values

Only exclude undefined.
TODO maybe consider just counting arguments instead