【问题标题】:How to add validation to dropdown如何将验证添加到下拉列表
【发布时间】:2017-01-24 15:43:55
【问题描述】:

我想在我的下拉菜单中添加一些简单的验证。例如,有 3 个并排的下拉菜单包含数据。我当时允许从每个下拉列表中选择一项。一旦用户选择了数据,下拉菜单应该被禁用,这样它就可以阻止用户在同一个下拉菜单中选择另一个项目。我尝试过,但没有成功,

my_condition = true;
var lastSel = $("#column1 option:selected");

$("#column1").change(function() {
  if (my_condition) {
    lastSel.attr("selected", true);
  }
});

$("#column1").click(function() {
  lastSel = $("#column1 option:selected");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="column1" class="text_select" name="column1" onChange="">
  <option value="">- Preferred Time -</option>
  <option value="- Sold Out -">- Sold Out -</option>
  <option value="2:30 - 4:00pm">2:30 - 4:00pm</option>
</select>
<select id="column2" class="text_select" name="column2" onChange="">
  <option value="">- Preferred Time -</option>
  <option value="- Sold Out -">- Sold Out -</option>
  <option value="2:30 - 4:00pm">2:30 - 4:00pm</option>
</select>

<select id="column3" class="text_select" name="column3" onChange="">
  <option value="">- Preferred Time -</option>
  <option value="- Sold Out -">- Sold Out -</option>
  <option value="2:30 - 4:00pm">2:30 - 4:00pm</option>
</select>

【问题讨论】:

  • 欢迎来到 SO。请访问help center 了解询问内容和方式。提示:在此处发布工作和代码。 “如果您发布指向小提琴的链接,则发布代码”是有原因的!我使用编辑器中的&lt;&gt; 按钮为您创建了一个 sn-p
  • @mplungjan 感谢您编辑我的帖子,我很难这样做

标签: javascript jquery html html-select dropdown


【解决方案1】:

好吧,你可以创建一个禁用元素的函数

function onChange(elem) {
    $(elem).prop("disabled",true);
}

prop() 用于布尔属性(没有值的属性),例如disabledreadonly

然后,将该函数用作每个选择的onchange 处理程序,将this 作为第一个参数传递。 this 将是正在更改的选择。

<select id="column1" class="text_select" name="column1" onchange="onChange(this);">

或者,更简单,从 jQuery 分配事件处理程序:

$("#column1,#column2,#column3").on("change",function() {
    $(this).prop("disabled",true);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-15
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    相关资源
    最近更新 更多