首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果选中的选项值为null,则隐藏提交按钮

如果选中的选项值为null,则隐藏提交按钮
EN

Stack Overflow用户
提问于 2015-06-19 16:28:25
回答 5查看 4.3K关注 0票数 3

我有以下表格:

代码语言:javascript
复制
var x = document.getElementById("submit-button");

if (x.selectedIndex.value == null) {
$("#submit-button").css("display","none");
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<select>
  <option disabled selected>Select colour</option>
  <option value="Orange">Orange</option>
  <option value="Apple">Apple</option>
  <option value="Lemon">Lemon</option>
</select>
  <button id="submit-button" type="submit">Click</button>
</form>

如果下拉列表的选定索引是没有值的禁用占位符选项,则我希望隐藏submit按钮。一旦选择了颜色,我想再次显示按钮。

任何帮助都将不胜感激。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-06-19 16:40:12

你这样做是对的。但在事件中遗漏了一些要点:

1-当DOM准备就绪时,必须执行整个代码(加载文档)

2-您必须观察select更改事件以检查更改。

3-您可以使用jQuery .hide().show() do控制元素的可见性

代码语言:javascript
复制
// Executed when DOM is loaded
$(document).ready(function() {
   // Executed when select is changed
    $("select").on('change',function() {
        var x = this.selectedIndex;

        if (x == "") {
           $("#submit-button").hide();
        } else {
           $("#submit-button").show();
        }
    });

    // It must not be visible at first time
    $("#submit-button").css("display","none");
}); 

看这个工作小提琴

票数 5
EN

Stack Overflow用户

发布于 2015-06-19 16:49:30

最短的路是

代码语言:javascript
复制
$(function(){
  $("select").on("change", function(){
    $("#submit-button").toggle(!!this.value);
  }).change();
});
代码语言:javascript
复制
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
<form>
<select>
  <option selected value="">Select colour</option>
  <option value="Orange">Orange</option>
  <option value="Apple">Apple</option>
  <option value="Lemon">Lemon</option>
</select>
  <button id="submit-button" type="submit">Click</button>
</form>

票数 1
EN

Stack Overflow用户

发布于 2015-06-19 16:38:44

当下拉列表发生变化时,您需要创建一个事件处理程序。在下面的示例中,默认情况下我隐藏了submit按钮,当下拉列表发生变化时,我将根据下拉列表中是否有选定的值来切换按钮的可见性。

我允许您的“选择颜色”选项可用,以便更好地演示事件处理程序是如何工作的。

代码语言:javascript
复制
$("#submit-button").hide();

$("select").on("change", function() {
  if (this.value)
    $("#submit-button").show();
  else
    $("#submit-button").hide();
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<select>
  <option selected value="">Select colour</option>
  <option value="Orange">Orange</option>
  <option value="Apple">Apple</option>
  <option value="Lemon">Lemon</option>
</select>
  <button id="submit-button" type="submit">Click</button>
</form>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30942958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档