$(function(){ }); $(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]'); 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) { var classcat_id1 = $sele1.val() ? $sele1.val() : ''; if ($sele2) { // 規格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 = $('').val(id ? id : '').text(name); if (id == selected_id2) { option.attr('selected', true); } $sele2.append(option); } checkStock($form, product_id, $sele1.val() ? $sele1.val() : '__unselected2', $sele2.val() ? $sele2.val() : ''); } } } /** * 規格の選択状態に応じて, フィールドを設定する. */ function checkStock($form, product_id, classcat_id1, classcat_id2) { // U => 2015.06.19 nss 規格2がない場合のINDEX // classcat_id2 = classcat_id2 ? classcat_id2 : ''; classcat_id2 = classcat_id2 ? classcat_id2 : '0'; // U <= 2015.06.19 nss 規格2がない場合のINDEX var classcat2; // 商品一覧時 if (typeof productsClassCategories != 'undefined') { classcat2 = productsClassCategories[product_id][classcat_id1]['#' + classcat_id2]; } // 詳細表示時 else { classcat2 = classCategories[classcat_id1]['#' + classcat_id2]; } // 商品コード var $product_code_default = $form.find('[id^=product_code_default]'); var $product_code_dynamic = $form.find('[id^=product_code_dynamic]'); if (classcat2 && typeof classcat2['product_code'] != 'undefined') { $product_code_default.hide(); $product_code_dynamic.show(); $product_code_dynamic.text(classcat2['product_code']); } else { $product_code_default.show(); $product_code_dynamic.hide(); } // 在庫(品切れ) var $cartbtn_default = $form.find('[id^=cartbtn_default]'); var $cartbtn_dynamic = $form.find('[id^=cartbtn_dynamic]'); if (classcat2 && classcat2['stock_find'] === false) { $cartbtn_dynamic.text('申し訳ございませんが、只今品切れ中です。').show(); $cartbtn_default.hide(); } else { $cartbtn_dynamic.hide(); $cartbtn_default.show(); } // 通常価格(税込) var $price01_default = $form.find('[id^=price01_inctax_default]'); var $price01_dynamic = $form.find('[id^=price01_inctax_dynamic]'); if (classcat2 && typeof classcat2['price01_inctax'] != 'undefined' && String(classcat2['price01_inctax']).length >= 1) { $price01_dynamic.text(classcat2['price01_inctax']).show(); $price01_default.hide(); } else { $price01_dynamic.hide(); $price01_default.show(); } // 販売価格(税込) var $price02_default = $form.find('[id^=price02_inctax_default]'); var $price02_dynamic = $form.find('[id^=price02_inctax_dynamic]'); if (classcat2 && typeof classcat2['price02_inctax'] != 'undefined' && String(classcat2['price02_inctax']).length >= 1) { $price02_dynamic.text(classcat2['price02_inctax']).show(); $price02_default.hide(); } else { $price02_dynamic.hide(); $price02_default.show(); } // 販売価格(税別) var $price02_default = $form.find('[id^=price02_notax_default]'); var $price02_dynamic = $form.find('[id^=price02_notax_dynamic]'); if (classcat2 && typeof classcat2['price02_notax'] != 'undefined' && String(classcat2['price02_notax']).length >= 1) { $price02_dynamic.text(classcat2['price02_notax']).show(); $price02_default.hide(); } else { $price02_dynamic.hide(); $price02_default.show(); } // 初回販売価格(税込) var $price03_default = $form.find('[id^=teiki_first_inctax_default]'); var $price03_dynamic = $form.find('[id^=teiki_first_inctax_dynamic]'); if (classcat2 && typeof classcat2['teiki_first_price_inctax'] != 'undefined' && String(classcat2['teiki_first_price_inctax']).length >= 1) { $price03_dynamic.text(classcat2['teiki_first_price_inctax']).show(); $price03_default.hide(); } else { $price03_dynamic.hide(); $price03_default.show(); } // 初回販売価格(税別) var $price03_default = $form.find('[id^=teiki_first_notax_default]'); var $price03_dynamic = $form.find('[id^=teiki_first_notax_dynamic]'); if (classcat2 && typeof classcat2['teiki_first_price_notax'] != 'undefined' && String(classcat2['teiki_first_price_notax']).length >= 1) { $price03_dynamic.text(classcat2['teiki_first_price_notax']).show(); $price03_default.hide(); } else { $price03_dynamic.hide(); $price03_default.show(); } // ポイント var $point_default = $form.find('[id^=point_default]'); var $point_dynamic = $form.find('[id^=point_dynamic]'); if (classcat2 && typeof classcat2['point'] != 'undefined' && String(classcat2['point']).length >= 1) { $point_dynamic.text(classcat2['point']).show(); $point_default.hide(); } else { $point_dynamic.hide(); $point_default.show(); } // 商品規格 var $product_class_id_dynamic = $form.find('[id^=product_class_id]'); if (classcat2 && typeof classcat2['product_class_id'] != 'undefined' && String(classcat2['product_class_id']).length >= 1) { $product_class_id_dynamic.val(classcat2['product_class_id']); } else { $product_class_id_dynamic.val(''); } } function fnSetClassCategories(form, classcat_id2_selected) { var $form = $(form); var product_id = $form.find('input[name=product_id]').val(); var $sele1 = $form.find('select[name=classcategory_id1]'); var $sele2 = $form.find('select[name=classcategory_id2]'); setClassCategories($form, product_id, $sele1, $sele2, classcat_id2_selected); } function fnChangeAction(url) { document.cartform.action = url; } function fnSetVal(key, val) { fnSetFormVal('cartform', key, val); } function fnSetFormVal(form, key, val) { document.forms[form][key].value = val; } // カゴに入れる function fnInCart(productForm) { var product_id = productForm["product_id"].value; fnChangeAction("https://e-minori.jp/products/list.php?#product" + product_id); if (productForm["classcategory_id1"]) { fnSetVal("classcategory_id1", productForm["classcategory_id1"].value); } if (productForm["classcategory_id2"]) { fnSetVal("classcategory_id2", productForm["classcategory_id2"].value); } fnSetVal("quantity", productForm["quantity"].value); fnSetVal("product_id", productForm["product_id"].value); fnSetVal("product_class_id", productForm["product_class_id"].value); document.cartform.submit(); } //]]> document.write('
');