$(document).ready(function(){
  var parentObject = $('#select_parent');
  var parentIndex = parentObject.get(0).selectedIndex;
  var childObject = $('#select_child');
  var childValue = childObject.get(0).options[childObject.get(0).selectedIndex].value;
  
  //子カテゴリメニューのoption要素を親カテゴリごとに分けてオブジェクトに保存
  var childOptions = {};
  var temp = '';
  for (var i = 0; i < parentObject.get(0).options.length; i ++) {
    temp = parentObject.get(0).options[i].value;
    childOptions[i] = $('#select_child option.parent' + temp);
  }
  //子カテゴリメニューのoption要素を入れ替える
  setOptions();
  //以後、子カテゴリメニューの初期値を0とする
  childValue = childObject.get(0).options[0].value;
  
  //親カテゴリメニュー切り替えイベントの設定
  parentObject.change(function(){
    parentIndex = parentObject.get(0).selectedIndex;
    setOptions();
  });
  
  //子カテゴリメニューのoption要素入れ替え関数
  function setOptions() {
    childObject.empty();
    childObject.append(childOptions[0].get());
    if (!parentIndex || parentIndex == 0) {
      childObject.attr('disabled', 'disabled');
    }
    else {
      childObject.attr('disabled', '');
      childObject.append(childOptions[parentIndex].get());
    }
    $('option[@value="' + childValue + '"]', childObject).attr('selected', 'selected');
  }
});
