observe_field for two fields


   I have now three select boxes(This is my current structure of

    <th width=""><label for="" >Priority</label></th>
    <td width=""><%= select( "sd_ticket", "sd_priority_id",
SdPriority.find(:all).collect {|p| [ p.name, p.id ] }) %></td>

    <th width="%"><label for="" >Urgency</label></th>
    <td width=""><%= select( "sd_ticket", "sd_urgency_id",
SdUrgency.find(:all).collect {|p| [ p.name, p.id ] }) %></td>

    <th width=""><label for="" >Impact</label></th>
    <td width=""><%= select( "sd_ticket", "sd_impact_id",
SdImpact.find(:all).collect {|p| [ p.name, p.id ] }) %></td>

I have to make a change to the above as, based on what value I choose
for Urgency and Impact the value in Priority is to be changed..So
Priority is to be replaced by a label box .The table structure as
below..How can I do this with observe_field.There is a table for
sd_prioritizations.So more clearly The impact and urgency are first read
from the sd_impact and sd_urgency tables.And when user changes the two
combination of that it is first checked in sd_prioritization to get
Priority and the corresponding priority name is read from sd_priority
table to get Priority

     id integer not null
     name character varying(80)

      id integer not null
     name character varying(80)

      id integer not null
     name character varying(80)
     id integer
     sd_impact_id integer
     sd_urgency_id integer
     sd_priority_id integer


Consider using 'observe_form' instead. If the two necessary selects
are in a form or common container (tr?) you can observe that form for
changes and post all the fields back together. The respose could then
set the value of the third field.