javascript - 选择特定选项时如何重置选择

标签 javascript html jquery css

我想创建一个虚拟选项,仅用于触发模式,我不希望选择该选项

这是 HTML:

  <select  onchange="setCookie('addcategory', this.value, 365);">
    <option hidden disabled selected value> -- select a category -- </option>
      <?php foreach( $categories as $index => $category ) :?>
    <option value="<?php echo $category ?>" ><?php echo $category ?></option>
      <?php endforeach ?>
    <option value="I_C_M">+++++++Click to Add new+++++++</option>
  </select>

这是我尝试过的:

$('select').on('change', function() {
  if(this.value === "I_C_M"){
    $(this.parentNode).prop('selectedIndex',-1);
    $('#insert_category_modal').modal('show');
  }
});

“点击添加新的”是虚拟选项

最佳答案

我认为您应该使用 this 对象将当前元素上的 selectedIndex 设置为 0

演示:

$('select').on('change', function() {
  if(this.value === "I_C_M"){
    $(this).prop('selectedIndex', 0);
    //$('#insert_category_modal').modal('show');
  }
});

function setCookie(c, v, d){}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select  onchange="setCookie('addcategory', this.value, 365);">
  <option hidden disabled selected value> -- select a category -- </option>

  <option value="test" >Test</option>

  <option value="I_C_M">+++++++Click to Add new+++++++</option>
</select>

关于javascript - 选择特定选项时如何重置选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66730502/

相关文章:

JavaScript 全局数组未定义,尽管它在警报中显示

javascript - Bootstrap 使 webkit 转换不起作用

javascript - 两次更改相同的 HTML 标记

javascript - blur.js - 用另一张图片模糊背景

javascript - 为什么 typeof undefined 是返回字符串?

javascript - 如何调用作为对象成员的函数?

html - 在悬停时用淡入淡出交换 div 内容

html - 如何在 CSS 中将跨度文本居中放置在图像旁边

javascript - 从一组 DOM 元素中获取最高的属性值

IE8 不支持 JQuery