Пример Drupal
Вот как там сделано:
http://rits-auto.ru/formkredit
function kfUpdate(){
$("#input_marka").val($("#select_marka").find("option:selected").html());
$("#input_model").val($("#select_model").find("option:selected").html());
$("#input_mod").val($("#select_mod").find("option:selected").html());
$("#input_cmp").val($("#select_cmp").find("option:selected").html());
}
function rgb2hex(rgb){
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
return ("0" + parseInt(rgb[1],10).toString(16)).slice(-2) + ("0" + parseInt(rgb[2],10).toString(16)).slice(-2) + ("0" + parseInt(rgb[3],10).toString(16)).slice(-2);
}
$(document).ready(function(){
var offset = $("#fixed_menu").offset();
var footOffset = $("#footer").offset();
var topPadding = 15;
$(window).scroll(
function(){
if ($(window).scrollTop() > offset.top){
if(footOffset.top-$(window).scrollTop() >= $('#fixed_menu').height()+40+topPadding)
$("#fixed_menu").stop().animate({marginTop:$(window).scrollTop() - offset.top + topPadding}, 100);
else return false;
}
else $("#fixed_menu").stop().animate({marginTop:0}, 100);
}
);
$("#fixed_menu li, #fixed_menu li .submenu").hover(
function(){
if ($(this).hasClass("submenu")) $(this).parent().addClass("active");
else $(this).addClass("active");
},
function(){
if($(this).hasClass("submenu")) $(this).parent().removeClass("active");
else $(this).removeClass("active");
}
);
$("#fixed_menu li .submenu a").click(
/* function(){
$(this).parent().parent().parent().find("selected").removeClass("selected");
$(this).parent().parent().addClass("selected").removeClass("active");
return false;
}*/
);
$("a[rel=fancybox], .a-fancybox, #calculator").fancybox();
$("#cfcclist li a").bind("click", function(){
var id = $(this).attr("id").replace("cfcc_", "");
$(".cfc_image img").hide();
$(".cfc_image img#kuzov_clr_"+id).css("display", "block");
var chex = rgb2hex($(this).css("background-color"));
var cstr = $(this).attr("title");
var str = chex;
if (cstr.length > 0) str += ' / ' + cstr;
$("#cfcc_p").html(str);
return false;
});
$("#button-free").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none'
});
});
$(document).ready(function(){
$("#select_marka").bind("change", function(){
var b = $(this).val();
$("#input_marka").val($(this).find("option:selected").html());
$.ajax({
url:'/getparams',
type:'POST',
data:{mode : 'brends', tid: b},
success: function(html){
$("#select_model").html(html);
$("#select_cmp").html('');
$("#input_price").val('');
}
});
});
$("#select_model").bind("change", function(){
var m = $(this).val();
$("#input_model").val($(this).find("option:selected").html());
$.ajax({
url:'/getparams',
type:'POST',
data:{mode : 'models', nid: m},
success: function(html){
$("#select_mod").html(html);
}
});
});
$("#select_mod").bind("change", function(){
var m = $("#select_model").val();
var id = $(this).val();
$("#input_mod").val($(this).find("option:selected").html());
$.ajax({
url:'/getparams',
type:'POST',
data:{mode : 'mods', nid: m, mod: id},
success: function(html){
$("#select_cmp").html(html);
$("#select_cmp").change();
}
});
});
$("#select_cmp").bind("change", function(){
var mdl = $("#select_model").val();
var mdf = $("#select_mod").val();
var id = $(this).val();
$("#input_cmp").val($(this).find("option:selected").html());
$.ajax({
url:'/getparams',
type:'POST',
data:{mode : 'cmps', nid: mdl, mod: mdf, cmp: id},
success: function(html){
$("#input_price").val(html);
}
});
});
});