Javascript 为什么我的引导下拉按钮不工作?

Javascript 为什么我的引导下拉按钮不工作?,javascript,html,bootstrap-4,Javascript,Html,Bootstrap 4,当在下拉菜单上选择某个选项时,即使按下按钮,该选项也不会在按钮上更改。我也尝试将控制台记录到javascript上,但它没有打印,而是在chrome inspector上显示以下错误: index.js:26 Uncaught TypeError: Cannot read property 'value' of null at getSelectValue (index.js:26) at index.js:29 我的html是: <!DOCTYPE html> &

当在下拉菜单上选择某个选项时,即使按下按钮,该选项也不会在按钮上更改。我也尝试将控制台记录到javascript上,但它没有打印,而是在chrome inspector上显示以下错误:

index.js:26 Uncaught TypeError: Cannot read property 'value' of null
    at getSelectValue (index.js:26)
    at index.js:29
我的html是:

<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title>Titlee</title>

  <!-- Favicon -->
  <link rel="short icon" type="image" href="dicelogo.png">

  <!-- Bootstrap, CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
  <link rel="stylesheet" href="styles.css">

  <!-- Google Font -->
  <link href="https://fonts.googleapis.com/css2?family=PT+Mono&display=swap" rel="stylesheet">
  <link href="https://fonts.googleapis.com/css?family=Indie+Flower|Lobster" rel="stylesheet">

  <!-- Jquery Links -->
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</head>

<body>
  
  <div class="container-fluid user-interaction">
    <h1>How to play?</h1>
    <h5>Write down your choices here (you can choose up to 4):</h5>


    <!-- Dropdown Button -->
    <div class="dropdown">
      <button class="btn btn-info dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
        2
        <span class="caret"></span>
      </button>
      <ul id="list" class="dropdown-menu dropdown-info" onchange="getSelectedValue();" aria-labelledby="dropdownMenu1">
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
      </ul>
    </div>
    <input type="text" name="" value="" placeholder="">
  </div>


  <script src="index.js" charset="utf-8">
  </script>
</body>

<footer>
  Bootstrap's dropdown just looks similiar to html 
select
, but it behaves differently. You need to write scripts to handle the
click
event on each
li
element.

I imagine you'd want something like this:

let links = document.querySelectorAll('#list li')
links.forEach((el) => {
  el.addEventListener('click', (event) => {
    let val = event.target.innerText
    document.getElementById('dropdownMenu1').innerHTML = `${val}<span class="caret"></span>`
    console.log(val)
  })
})

提特利
怎么玩?
在此处写下您的选择(最多可选择4个):
2.

Bootstrap的下拉列表看起来与html
select
类似,但其行为不同。您需要编写脚本来处理每个
li
元素上的
click
事件

我想你会想要这样的东西:

let links=document.querySelectorAll(“#list li”)
links.forEach((el)=>{
el.addEventListener('单击',(事件)=>{
让val=event.target.innerText
document.getElementById('dropdownMenu1')。innerHTML=`${val}`
console.log(val)
})
})

2.

引导程序的下拉列表看起来与html
select
相似,但其行为不同。您需要编写脚本来处理每个
li
元素上的
click
事件

我想你会想要这样的东西:

let links=document.querySelectorAll(“#list li”)
links.forEach((el)=>{
el.addEventListener('单击',(事件)=>{
让val=event.target.innerText
document.getElementById('dropdownMenu1')。innerHTML=`${val}`
console.log(val)
})
})

2.

var selectedValue=document.getElementById(“列表”)您没有包含此项的项目ID@Unbywyd即使在我将Id添加到
    之后,它也不起作用。您没有包含此项的项目ID@Unbywyd即使在我将Id添加到
      之后,你是个天才,但我不明白omg…前三行是什么意思?:让links=document.queryselectoral(“#list li”)links.forEach((el)=>{el.addEventListener('click',(event)=>{
      querySelector()
      收集可点击的元素(the
      li
      s),
      forEach()
      对它们进行迭代,并绑定click事件。它包含您需要的所有参考信息,谢谢它工作正常。但我不明白omg…前三行是什么意思?:让links=document.queryselectoral('#list li')links.forEach((el)=>{el.addEventListener('click',(事件)=>{
      querySelector()
      收集可单击的元素(li
s),
forEach()
迭代它们,并
addEventListener()
绑定单击事件。它包含您需要的所有引用