0

有一个表单域询问产品,这些是各种尺寸,第二个表单域询问数量。

每个产品的库存数量显示在第一个选择中,我希望第二个选择是可用库存的最大值,这样客户就不能订购超过我可用的数量。

这是第一个选择(也链接显示自定义图片)网站是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>

这是第二个选择:

<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 事件,但没有任何乐趣。

UK Autotrader 有一个很好的例子来说明这与他们的汽车制造商/车型的合作。

4

2 回答 2

0

这应该做你想要的......

注意:我通过在您的选项中添加“库存”属性来使用快照,以避免解析字符串。

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

如果您想避免这种情况,下面的示例还向您展示了如何获取要为 stock 属性解析的文本。

$("#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

第二个选择将显示最大库存。因此,您需要做的是将值存储在数据库中,获取最大值,然后在使用 asp 时,使用 ajax 调用页面,该页面将在此处显示为选择选项

于 2012-10-02T04:58:35.727 回答