【问题标题】:how to substract options two related selects html如何减去选项两个相关的选择html
【发布时间】:2016-04-22 06:21:16
【问题描述】:

如果我有 3 个单位可用并且两个选择 hhtml 来选择数量,当客户选择 1 个单位(选项值 = 1)例如在第一个选择中时,我该怎么做,这个选项将在第二个选择中减去,而这只显示剩余的单位?即,第二个选择只会显示1个单位(选项值=1)和2个单位(选项值=2)。我不需要显示和隐藏。我需要如果客户在第一个选择中选择一个单位,在第二个中只能再选择 2 个。期权价值指的是数量

<select class="quantity" name="double room">
<option value="1">1</option>
<option value="2">2</option
<option value="3">3</option
</select>
<p>
<select class="quantity" name="double room">
<option value="1">1</option>
<option value="2">2</option
<option value="3">3</option
</select>

【问题讨论】:

  • 因此,如果用户在第一个 select 中选择了“1”,则在第二个 select 中删除 (1) 选项。如果他们选择“2”然后在第二个中删除(2)个选项?也许创建一张图片或示例输出
  • 如果他们在第一次选择中更改了选择,是否应该将其放回?

标签: javascript jquery


【解决方案1】:

这是一个快速的解决方案,希望它能为您指明正确的方向。这不会像保留顺序那样做任何花哨的事情,只会在第二次选择时删除并返回选项。

https://jsfiddle.net/jpbjd40s/2/

// Intialize this value with the option missing from #two
var previousValue = 1;

// Do stuff on change.
$('#one').on('change', function() {

    // Put the unselected option from #one back in #two.
    $('#two').append('<option value="' + previousValue + '">' + previousValue + '</option>');

    // Remember what we had.
    previousValue = $('#one').val();

    // Remove the option from #two selected in #one.
    $('#two').children('[value="' + $('#one').val() + '"]').remove();

});

【讨论】:

  • 使用.hide()可能会更好,如果用户更改了第一个选择,您可以轻松恢复它。
  • 我同意,隐藏和显示会更好......就像我说的那样快:)
  • 虽然有显示和隐藏,选择会保留隐藏的值,直到你改变它。我打算更新 jsfiddle,但它似乎会更长一些(至少我的实现是)。
  • 感谢您的评论和解决方案。我不需要展示和隐藏。我需要如果客户在第一个选择中选择一个单位,在第二个中只能再选择 2 个。期权价值指的是数量
猜你喜欢
  • 2021-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
  • 1970-01-01
  • 1970-01-01
  • 2020-12-14
相关资源
最近更新 更多