如何在不使用HTML的情况下进行选择?

时间:2018-08-23 13:11:40

标签: javascript html css

我是编程的新手。我知道html,css,javascript和php的基础知识。我想在不使用HTML的情况下做出选择选项,因为据我所知,您不能对选择器的内部设置太多样式。

所以我希望您可以使用javascript进行类似的操作。我想选择一个日期,就像这个网站要保留的日期一样:https://www.bookatable.co.uk/stockholm-restaurants

对于我在他们的代码中看到的,他们正在使用列表,因此他们必须使用某种代码来完成选择选项样式。

感谢您的帮助:)

4 个答案:

答案 0 :(得分:0)

您可以使用Bootstrap Select Plugin。该插件需要Bootstrap和jQuery。要初始化此插件,请使用jQuery(select)获得$(selector)元素,然后使用.selectpicker()方法。

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.1/css/bootstrap-select.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.0-beta/js/bootstrap-select.min.js"></script>
  <select class="selectpicker">
  <option>Option 1</option>
  <option>Option 2</option>
  <option>Option 3</option>
  <option>Option 4</option>
  <option>Option 5</option>
  <option>Option 6</option>
  <option>Option 7</option>
  <option>Option 8</option>
  </select>
  <script>
  $('.selectpicker').selectpicker();
  </script>

答案 1 :(得分:0)

您可以创建一个列表,其中包含用于触发Javascript设置选项的链接。

var select = document.getElementById('hidden-select');
var custom_options = document.getElementsByClassName('custom-option');

for (i = 0; i < custom_options.length; i++) {
  custom_options[i].addEventListener('click', function(e) {
      e.preventDefault();
      var value = this.getAttribute('data-value');
      select.value = value;
  });
}
.hidden-select {
    display: none;
}
<select class="hidden-select" id="hidden-select">
  <option value="1">1</option>
  <option value="2">2</option>
</select>

<ul class="custom-select">
  <li><a class="custom-option" href="#" data-value="1">1</a></li>
  <li><a class="custom-option" href="#" data-value="2">2</a></li>
</ul>

答案 2 :(得分:-1)

如果我可以清楚地了解您,则您希望元素具有非常甜美和酷的设计,因为选择选项可能无法满足您的需求。 您可以使用 javascript 和其他您熟悉的 element 来根据需要进行设计。

<i onclick="optionSelect('1');">Your preferred element here 1</i>
<i onclick="optionSelect('2');">Your preferred element here 2</i>
<i onclick="optionSelect('3');">Your preferred element here 3</i>
<i onclick="optionSelect('4');">Your preferred element here 4</i>

<javascript>

var selectedOption = '0';

function optionSelect(sel){
selectedOption = sel;
}

</javascript>

您还可以更改触发该功能的元素的颜色。...

上面的代码在通过ajax或任何js框架提交表单时非常完美。

但是,如果要在表单中使用它,则可以隐藏表单选项元素并在其单击时更改其值

答案 3 :(得分:-2)

您可以自己创建一个新组件。 在这种情况下,您将控制它们的所有行为。 并且必须控制所有元素,事件和布局。

<div id="my-element">
  <input class="visible_field" type="text"/>
  <ul class="list_of_options" hidden>
    <li class="option" option-value="value">Option1</li>
  </ul>
</div>