私のフォームには、複数の画像をリストする必要があります。ユーザーは、画像をクリックしてスウォッチを選択できる必要があります。画像の名前を以下のスクリプトにどのように渡しますか?
ドロップダウンメニューがどのように選択肢を提供し、「選択」部分に「ID」があり、「オプション」に値があるかを理解しています。しかし、画像ではどのように機能するのでしょうか? それぞれに一意のラベルを付ける方法はありますが、何らかの方法でスクリプトにそれらがすべて同じグループのオプションであることを知らせますか?
<img src="myimage_one.jpg">
<img src="myimage_two.jpg">
<img src="myimage_three.jpg">
それらはすべて「ラジオ」要素のように同じ ID を共有する必要があり、選択した ID がスクリプトを通じて送信される ID になりますか?
以下は、ドロップダウンの選択ごと、入力フィールドの入力ごとにトリガーされ、「オンクリック」が発生するたびにトリガーされるスクリプトです。基本的に、「select」要素と「input」要素は「doCalc();」に基づいて発火します。以下のスクリプトの一部。
スクリプトの理由は、各選択の合計を即座に自動計算し、特定の ID プレースホルダーに表示することです。
最後に、以下のスクリプトでわかるように、何らかの方法で値を myimage_str に関連付ける必要はありませんか?
var myimageX = $('#myimage_str').val();
<script type="text/javascript">
function doCalc(){
var roomX = $('#room_str').val();
var otherroomX = $('#other_room').val();
var myimageX = $('#myimage_str').val();
var heightX = $('#height_str').val();
var heightfracX = $('#heightfrac_str').val();
var widthX = $('#width_str').val();
var widthfracX = $('#widthfrac_str').val();
var prodid = $('#prodid').val();
var qtyX = $('#qty_str').val();
$.post('db_query.php',
{qtyX:qtyX, roomX:roomX, otherroomX:otherroomX, myimageX:myimageX, heightX:heightX, heightfracX:heightfracX, widthX:widthX, widthfracX:widthfracX, prodid:prodid},
function(data) {
data = $.parseJSON(data);
$('#width-placeholder').html(data.width);
$('#widthfrac-placeholder').html(data.widthfrac);
$('#height-placeholder').html(data.height);
$('#heightfrac-placeholder').html(data.heightfrac);
$('#realtime-price').html(data.totalprice);
$('#realtime-qty').html(data.qty);
$('#unitprice').html(data.unitprice);
$('#roomname').html(data.roomname);
$('#other_room-placeholder').html(data.otherroom);
$('#myimage-placeholder').html(data.myimage);
// ...
});
return false;
};
</script>
編集:あなたの提案ごとに追加されたコードは次のとおりです。まだ機能していません。画像をクリックしても何も起こりません。「alt」タグにattrを使用して、その中に画像名を付けてみました。var colorX = $('.ColorSelection').attr('alt');
<script type="text/javascript">
$('.ColorChoice').click(function(){
$('.ColorChoice').removeClass('ColorSelection');
$(this).addClass('ColorSelection');
doCalc()
});
function doCalc(){
var roomX = $('#room_str').val();
var otherroomX = $('#other_room').val();
var colorX = $('.ColorSelection').attr('alt');
//.....
ここにいくつかの画像があります...
<ul class="swatches">
<li><div id="swatch"><img src="100_bright_white.jpg" alt="100_bright_white" class="ColorChoice"></div></li>
<li><div id="swatch"><img src="101_pure_white.jpg" alt="101_pure_white" class="ColorChoice"></div></li>
<li><div id="swatch"><img src="102_bone.jpg" alt="102_bone" class="ColorChoice">
//...</div></li>