javascript - 如何禁止添加现有选项来选择?

标签 javascript jquery html

如何不允许选择选项中已存在的值? (使用 jQuery)

$(document).on('click', '#add', function() {
  if ($('#new-option').val() != '') {
    var val = $('#new-option').val();
    $('#foo option:last').html(val);
    var opt = '<option>Other</option>';
    $('#foo').append(opt);
    $('#foo').val(val);
    $('#new-option').val('');
    console.log($("#foo option").each(function() {
      $(this).val();
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<select id="foo">
  <option>Notification</option>
  <option>Other</option>
</select>

<input type="text" id="new-option" required>
<button type="button" id="add">Add Option</button>

最佳答案

您可以循环遍历每个选择选项并检查它是否存在。使用 jQuery。使用 jQuery .trim() 删除比较中的空格。

$(document).on('click', '#add', function(){
    if($('#new-option').val() != '')
    {
        var val = $('#new-option').val();
        var flag_add = true;
    	  $("#foo").find("option").each(function() {
            console.log($(this).val());
            if($(this).val().trim()==val.trim()){
                flag_add = false;
                alert("Option already added...")
                return;
            }    
        });
        if(flag_add)
        {
            $('#foo option:last').html(val);
            var opt = '<option>Other</option>';
            $('#foo').append(opt);
            $('#foo').val(val);
            $('#new-option').val('');
        }
    }    
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<select id="foo">
  <option>Notification</option>
  <option>Other</option>
</select>

<input type="text" id="new-option" required>
<button type="button" id="add">Add Option</button>

关于javascript - 如何禁止添加现有选项来选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44567613/

相关文章:

javascript - 输入键触发链接

c# - 需要显示附加文件的文件名,文件上传到使用 window.open 打开的单独页面上

javascript - 在每个 AJAX 元素后添加脚本标记的替代方法

html - 如何将滚动框编码到图像上?

javascript - Flutter中是否可以使用JS可视化库(例如Chart.js或D3.js)?

jquery - jQueryeach() 的替代方案 - 自学问题

javascript - 如何在 Angularjs 中传递数据

javascript - modalDialog 上的 onkeypress 事件

JavaScript 找不到我的 div

javascript - JS从对象中获取数组