You can use pretty much any encoder with an Arduino. The code already posted will work with all "Incremental" encoders that are "2 bit Gray Code" or "2-bit quadrature code", such as the one linked to above.
I do recommend going for a higher PPR (pulses per revolution) or CPR (cycles per revolution) as possible because this attenuator has 256 steps, so at 24 PPR you will need to rotate it many times to go from 0 to 256. Also, you get what you pay for, a cheap encoder will feel cheap and they can sometimes jump around between steps. If you want to splash out, I have both of these and they are really nice:
http://ca.mouser.com/ProductDetail/Bourns/EM14R0D-M20-L064S/?qs=sGAEpiMZZMsWp46O%252bq11WaOTWrP7dyXBueE8zSLmq%252bw%3d
http://ca.mouser.com/ProductDetail/Bourns/ENA1J-B28-L00128/?qs=sGAEpiMZZMsWp46O%252bq11WcqwRcNrfIIZ3fHa2t9hjOc%3d