This study proposes a new type of dispatching rule for job shop scheduling problems. The novelty of these dispatching rules is that they can iteratively improve the schedules by utilising the information from completed schedules. While the quality of the schedule can be improved, the proposed iterative dispatching rules (IDRs) still maintain the easiness of implementation and low computational effort of the traditional dispatching rules. This feature makes them more attractive for large-scale manufacturing systems. A genetic programming (GP) method is developed in this paper to evolve IDRs for job shop scheduling problems. The results show that the proposed GP method is significantly better than the simple GP method for evolving composite dispatching rules. The evolved IDRs also show their superiority to the benchmark dispatching rules when tested on different problem instances with makespan and total weighted tardiness as the objectives. Different aspects of IDRs are also investigated and the insights from these analyses are used to enhance the performance of IDRs.