将用户输入添加到数组并更新选项列表

耶尔托

所以我有这个页面:

我有一个由数组中的项目组成的列表。如果用户添加新食物,则输入应转到数组并在列表中显示新项目,并且输入字段应消失。目前,我收到404错误。

我怎样才能做到这一点?

// find elements
var banner = $("#banner-message")
var button = $("button")

var select = document.getElementById("selectFood");
var options = ["Pizza", "Hambruger", "Salad"];

for (var i = 0; i < options.length; i++) {
  var opt = options[i];
  var el = document.createElement("option");
  el.textContent = opt;
  el.value = opt;
  select.appendChild(el);
}

function foodInput() {
  boxvalue = document.getElementById('addedFood').value;
  options.push(boxvalue);
}

function addFunction() {
  var x = document.getElementById("myDIV");
  if (x.style.display === "block") {
    x.style.display = "none";
  } else {
    x.style.display = "block";
  }
}
body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#banner-message {
  background: #778899;
  border-radius: 4px;
  padding: 20px;
  font-size: 25px;
  text-align: center;
  transition: all 0.2s;
  margin: 0 auto;
  width: 300px;
}


button {
  background: #A52A2A;
  border: none;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: 15px;
  color: #fff;
}

.addButton {
  background: #A52A2A;
  color: white;
}

#banner-message.alt {
  background: #0084ff;
  color: #fff;
  margin-top: 40px;
  width: 200px;
}

#banner-message.alt button {
  background: #fff;
  color: #000;
}

.hide {
  display: none;
}

.show {
  display: block;
}

.demo {
  background: #A52A2A;
  border: none;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: 15px;
  color: #fff;
}

#myDIV {
  background: #778899;
  padding: 20px;
  font-size: 25px;
  text-align: center;
  transition: all 0.2s;
  margin: 0 auto;
  width: 300px;
  display: none;
}

input[type=submit] {
  background: #A52A2A;
  border: none;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: 15px;
  color: #fff;

}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="banner-message">
  <p>My favorite food</p>
  <select id="selectFood">
    <option>Select food</option>
  </select>
  <button>Choose</button>
  <br>
  <button id="addButton" onclick="addFunction();">
    Add new food
  </button>
</div>

<div id="myDIV">
  <form onsubmit="return foodInput()">
    <input type="text" id="addedFood" placeholder="Type food">
    <input type="submit" value="Submit" onclick="addFunction()">
  </form>
</div>

Senthur Athiban

实际上,我认为问题在于表单试图在提交时重新加载小提琴HTML页面。

这是经过修改的内容的工作链接,做了一些小的优化。

[https://jsfiddle.net/8rvax5z0/3/]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章