observe_field not working on dependeng collection_select

Setup:

I have 3 drop downs generated by collection_select, where in the next
drop down's option values are dependent on which option value was
selected in the previous drop down. This is done using observe_field.

e.g.
country => state => city

Here's the code:
%div
  .label
    Grading Scheme Select - Tier 1
  = collection_select (:grading_scheme, :id, GradingScheme.all, :id,
:name)
  = observe_field('grading_scheme_id', :update => 'parent_div',
:frequency => 0.5, :url => {:controller => 'grading_schemes', :action =>
'filter_parents'}, :with => 'grading_scheme_id')
%div
  .label
    Tier 2
  #parent_div
    = collection_select (:grade_layer, :id, @parents, :id, :name)
    = observe_field('grade_layer_id', :update => 'child_div', :frequency
=> 0.5, :url => {:controller => 'grading_schemes', :action =>
'filter_children'}, :with => 'id')
%div
  .label
    Tier 3
  #child_div
    = collection_select (:grade_layer, :id, @children, :id, :name)

Initially the observe_field would work on updating child_div (Tier
3)whenever I select a different item in Tier 2. If I select a grading
scheme in Tier 1, Tier 2 will update its list. However if i select a new
item in that updated list in Tier 2, Tier 3 will not update.

I've checked my local server, and during those occassions that Tier 3
doesn't update i find that ajax isn't producing any calls. I hope
someone can help me out on this.