私はjsfiddleで正常に動作している次のコードを持っています - http://jsfiddle.net/darkajax/FHZBy/
コードを使用する必要があるページにコードを転送し、関数に正しい ID 番号を割り当てました。これが機能するページです。
http://mtpassemblies.com/cs-cart/index.php?dispatch=products.view&product_id=29821
ユーザーがオプションを選択すると、部品番号ボックスが入力されるはずですが、これはライブ バージョンでは発生せず、エラー メッセージも表示されません。エラーメッセージが表示されないので、どこから問題が発生しているのかを確認するためにどこから始めるべきかわかりません。
私の元のメッセージに加えて、CS Cart は Smarty フレームワーク上に構築されているようですが、これが問題に関係しているかどうかはわかりません。
サイトのjQueryは次のとおりです。
<script type="text/javascript">// <![CDATA[
$(function() {
var sku1 = sku2 = sku3 = sku4 = sku5 = sku6 = length = '';
$("#opt_29821_746").change(function(){
switch($(this).val()){
case "3134":
sku1 = 'TB';
break;
case "3135":
sku1 = 'LT';
break;
case "3154":
sku1 = 'LTR';
break;
case "3136":
sku1 = 'BO';
break;
case "3138":
sku1 = 'MC';
break;
case "3139":
sku1 = 'NC';
break;
case "3183":
sku1 = 'STA';
break;
}
$('#option_29821_798').val(sku1+sku2+sku3+sku4+sku5+sku6+length);
});
$("#opt_29821_742").change(function(){
switch($(this).val()){
case "3111":
sku2 = 'LC';
break;
case "3110":
sku2 ='LCA';
break;
case "3112":
sku2 ='E2000';
break;
case "3113":
sku2 ='E2A';
break;
case "3114":
sku2 ='FC';
break;
case "3115":
sku2 ='FCA';
break;
case "3116":
sku2 ='ST';
break;
case "3117":
sku2 ='SC';
break;
case "3118":
sku2 ='SCA';
break;
}
$('#option_29821_798').val(sku1+sku2+sku3+sku4+sku5+sku6+length);
});
$("#opt_29821_744").change(function(){
switch($(this).val()){
case "3175":
sku3 = '2';
break;
case "3121":
sku3 ='4';
break;
case "3122":
sku3 ='6';
break;
case "3123":
sku3 ='8';
break;
case "3124":
sku3 ='12';
break;
case "3125":
sku3 ='16';
break;
case "3126":
sku3 ='24';
break;
case "3176":
sku3 ='48';
break;
}
$('#option_29821_798').val(sku1+sku2+sku3+sku4+sku5+sku6+length);
});
$("#opt_29821_745").change(function(){
switch($(this).val()){
case "3127":
sku4 = 'OS12';
break;
case "3182":
sku4 ='G657A1';
break;
case "3128":
sku4 ='OM1';
break;
case "3129":
sku4 ='OM2';
break;
case "3130":
sku4 ='OM3';
break;
case "3131":
sku4 ='OM4';
break;
}
$('#option_29821_798').val(sku1+sku2+sku3+sku4+sku5+sku6+length);
});
$("#opt_29821_748").change(function(){
switch($(this).val()){
case "3142":
sku5 = 'LC';
break;
case "3143":
sku5 ='LCA';
break;
case "3144":
sku5 ='E2000';
break;
case "3145":
sku5 ='E2A';
break;
case "3146":
sku5 ='FC';
break;
case "3147":
sku5 ='FCA';
break;
case "3148":
sku5 ='ST';
break;
case "3149":
sku5 ='SC';
break;
case "3150":
sku5 ='SCA';
break;
}
$('#option_29821_798').val(sku1+sku2+sku3+sku4+sku5+sku6+length);
});
$("#opt_29821_749").change(function(){
switch($(this).val()){
case "3151":
sku5 = 'LZSH';
break;
case "3177":
sku5 ='PE';
break;
}
$('#option_29821_798').val(sku1+sku2+sku3+sku4+sku5+sku6+length);
});
$('#opt_29821_753').change(function(){
length = $(this).val();
$('#option_29821_798').val(sku1+sku2+sku3+sku4+sku5+sku6+length);
});
});
// ]]></script>
アップデート
さらに調査し、さまざまな人々と話し合った後、onchange
CS Cart に組み込まれているインライン イベントが、私が作成した jQuery と衝突することが問題の原因であると思われます。
したがって、問題は、インラインコーディングによって起動されている関数と一緒にコードを動作させることは可能ですか?