JS:在被提示时更改选择选项值吗?

马修

我环顾四周,之前没有人问过这个问题。

我有一个选择框,如下所示:

<select onchange="change()">
  <option value="" selected>Option 1</option>
  <option value="30">Option 2</option>
  <option value="90">Option 3</option>
</select>

我想添加另一个选项...

  <option value="custom">Option 4</option>

...这时候选择(点击)一个提示框会弹出要求用户在多个输入(的情况下30或90没有可行的选择,因为在该选项的值),以取代期权的价值。

<script>
function change() {
  if(value == "custom") {
    value = prompt("Please enter a new number:", "60");
  }
}
</script>

我想知道最好的方法是使用普通的旧javascript-如果需要的话,我将使用jQuery。

有任何想法吗?一个例子也很好。

莎玛

看一下这段代码。我认为这是您要尝试执行的操作:

的HTML

<select id="optionvals" onclick="change()">
  <option value="" selected>Option 1</option>
  <option value="30">Option 2</option>
  <option value="90">Option 3</option>
  <option value="custom">Option 4</option>
</select>

JS

function change() {
  var oItem = document.getElementById('optionvals');
  var value = oItem.options[oItem.selectedIndex].value;
  if(value == "custom") {
    alert("you've clicked b");
    value = prompt("Please enter a new number:", "60");
    oItem.options[oItem.selectedIndex].value = value;
    console.log(oItem.options[oItem.selectedIndex].value)
  }
}

这样做是提示你只有在选项选择的值的变化custom然后,在选择自定义值之后,它将把该customoption元素的值重写为您刚刚在提示中输入的值。分配新值后,我记录了该值,以向您显示它正在工作。

这是一个小提琴:https : //jsfiddle.net/ng7xvy05/

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章