$(function() { // 規格1選択時 $('select[name=classcategory_id1]') .change(function() { var $form = $(this).parents('form'); var product_id = $form.find('input[name=product_id]').val(); var $sele1 = $(this); var $sele2 = $form.find('select[name=classcategory_id2]'); // 規格1のみの場合 if (!$sele2.length) { checkStock($form, product_id, $sele1.val(), '0'); // 規格2ありの場合 } else { setClassCategories($form, product_id, $sele1, $sele2); } }); // 規格2選択時 $('select[name=classcategory_id2]') .change(function() { var $form = $(this).parents('form'); var product_id = $form.find('input[name=product_id]').val(); var $sele1 = $form.find('select[name=classcategory_id1]'); var $sele2 = $(this); checkStock($form, product_id, $sele1.val(), $sele2.val()); }); }); /** * 規格2のプルダウンを設定する. */ function setClassCategories($form, product_id, $sele1, $sele2, selected_id2) { if ($sele1 && $sele1.length) { var classcat_id1 = $sele1.val() ? $sele1.val() : ''; if ($sele2 && $sele2.length) { // 規格2の選択肢をクリア $sele2.children().remove(); var classcat2; // 商品一覧時 if (typeof productsClassCategories != 'undefined') { classcat2 = productsClassCategories[product_id][classcat_id1]; } // 詳細表示時 else { classcat2 = classCategories[classcat_id1]; } // 規格2の要素を設定 for (var key in classcat2) { var id = classcat2[key]['classcategory_id2']; var name = classcat2[key]['name']; var option = $('