observe_field not working on dependeng collection_select


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.

country => state => city

Here's the code:
    Grading Scheme Select - Tier 1
  = collection_select (:grading_scheme, :id, GradingScheme.all, :id,
  = observe_field('grading_scheme_id', :update => 'parent_div',
:frequency => 0.5, :url => {:controller => 'grading_schemes', :action =>
'filter_parents'}, :with => 'grading_scheme_id')
    Tier 2
    = 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')
    Tier 3
    = 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.