positioning robustness
1. restrain option value to string & number, for find id by value is a huge overhead when where is too many options. 2. use value as option.id, for the same reason 3. imporve the perf of select by remove some bottle neck function