0

製品を要求するフォーム フィールドを用意します。これらはさまざまなサイズで、2 番目のフォーム フィールドでは数量を要求します。

各製品の在庫数は最初の選択で表示されます。2 番目の選択では、利用可能な在庫の最大数を選択して、顧客が私が利用できる以上の在庫を注文できないようにしたいと考えています。

これは最初の選択です (カスタム画像を表示するためにもリンクされています) サイトは ASP です

<select name="barcode" id="imageselect">
 <option value>Please Select .....</option>
 <option value="322974">6.6lbs 100m  - £21.00 ( 2 in stock )</option>
 <option value="322975">8.2lbs 100m  - £21.00 ( 3 in stock )</option>
 <option value="322976"disabled=disabled>10.4lbs 100m  - £21.00 - Out of stock</option>
 <option value="323656">13.7lbs 100ms  - £21.00 ( 4 in stock )</option>
</select>

これは 2 番目の選択です。

<select name="quantity">
<option value="1" selected="selected">1</option>
 <option value="2">2</option>
 <option value="3">3</option>
 <option value="4">4</option>
 <option value="5">5</option>
 <option value="6">6</option>
 <option value="7">7</option>
 <option value="8">8</option>
 <option value="9">9</option>
 <option value="10">10</option>
</select>

onchange イベントを使用してみましたが、喜びはありません。

英国の Autotrader は、自社の自動車メーカー/モデルでこの作業を行っている非常に良い例を持っています。

4

2 に答える 2

0

これはあなたが望むことをするはずです...

注意: 文字列の解析を避けるために、オプションに 'stock' 属性を追加してショット カットを使用しました。

<option value="322974">6.6lbs 100m  - £21.00 ( 2 in stock )</option>

これを回避したい場合は、以下の例で、在庫属性を解析するテキストを取得する方法も示します。

$("#imageselect").change(function(event){
    var $this = $(this),
        value = $this.val();
    var $option = $("option[value="+value+"]", $this),
        text = $option.text(),   // you could parse this to get stock OR
        stock = parseInt($option.attr('stock'));  // short-cut: use stock attr

    // only show the first n options:
    var $opts = $("select[name=quantity] option");
    $opts.hide().slice(0, stock).show();
});
于 2012-10-01T23:10:29.707 に答える
0

2 番目の選択では、最大在庫が表示されます。したがって、データベースに値を保存し、最大値をフェッチし、 asp を使用しているため、選択オプションとしてここに表示される ajax でページを呼び出す必要があります。

于 2012-10-02T04:58:35.727 に答える