javascript - CSS 和 javascript

标签 javascript html css twitter-bootstrap-3

我想在表单组 div 的 ul 列表中添加“输入”。 但是,每次我点击文本区域时,下拉菜单都会向上移动。我想在点击输入时保留下拉菜单。

<div class="form-group">
      <a class="btn btn-default btn-select">
            <input class="btn-select-input" id="" name="" value="Option 2" type="hidden">
            <span class="btn-select-value">Purpose of Enquiry</span>
            <span class="btn-select-arrow glyphicon glyphicon-triangle-bottom"></span>
            <ul style="display: none;">
                <li>Career Enquiries</li>
                <li>Data Protection Feedback</li>
                <li>Media & Publications</li>
                <li>New Business Collaborations<input class="dropinput" type="text" placeholder="Please specify project location"></li>
                <li>Others<input class="dropinput" type="text" placeholder="Please specify"></li>
            </ul>
        </a>
        </div>

最佳答案

<input> is an invalid child for <li> .

话虽如此,您可能不是在寻找 <ul><li>元素完全。您正在尝试向用户展示一个选择,因此,您希望利用 <select> <option> 元素。

您希望第一个输入在用户选择元素时显示,第二个输入在用户选择 Others 时显示.为此,设置 display两个元素的 none默认情况下。然后根据选择显示目标元素,同时使用jQuery隐藏其他元素:

var selection = document.getElementsByTagName('select')[0];
selection.onchange = function() {
  if (selection.value == 'Others') {
    $('#specify').show();
    $('#project').hide();
  }
  else {
    $('#project').show();
    $('#specify').hide();
  }
}
#specify {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />

<div class="form-group">
  <span class="btn-select-value">Purpose of Enquiry</span>
  <select>
      <option>Career Enquiries</option>
      <option>Data Protection Feedback</option>
      <option>Media & Publications</option>
      <option>New Business Collaborations</option>
      <option>Others</option>
    </select>
  <input id="project" class="dropinput" type="text" placeholder="Please specify project location">
  <input id="specify" class="dropinput" type="text" placeholder="Please specify">
</div>

希望对您有所帮助! :)

关于javascript - CSS 和 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45451096/

相关文章:

JavaScript 状态循环

javascript - react-native 中 TabBar 的多个组件/类出错?

javascript - Vue.js 计算的 setter 性能

html - 如何使用 css 网格重复不同宽度的不同类型的行?

javascript - 如何使图像从左侧 0,0 位置向右滑动到右侧末端?

jquery - 在自定义 div 下拉菜单中发生键盘导航时移动垂直滚动条

html - 在 div 元素中居中划分

CSS3 馅饼不工作

html - 如何编写持久的 CSS 框规则?

javascript - 检查选中的单选按钮是否返回 true 但应该返回 false