javascript / jquery从select中删除或删除选项

时间:2010-03-11 11:24:59

标签: javascript jquery

我需要在某些情况下从选择中删除选项。

基本上:

if(mystatement == true)
{
   //remove item with id 'option1' from select of id 'select1'
}

任何人都知道我的代码来实现这个目标吗?

非常感谢。

4 个答案:

答案 0 :(得分:14)

按值删除:

$("#select1 option[value=1]").remove();

按文字删除:

$("#select1 option:contains(Text)").remove();

答案 1 :(得分:8)

<强> 修改

由于id在文档中是唯一的,因此无需将其与父选择元素相关联。你可以做到

$("#option1").remove();

答案 2 :(得分:3)

jQuery的:

$("#option1").remove();

$("#select").remove("#option1");

经典的javascript方法:

var option1 = document.getElementById("option1");
document.getElementById("select1").removeChild(option1);

答案 3 :(得分:0)

我见过很多人都有这个问题。我创建了这个可能有用的脚本。希望你喜欢它:

&#13;
&#13;
has_many :videos
&#13;
var robable = {
  init: function() {
    robable.get_selected_option_from_select();
  },
  get_selected_option_from_select: function() {
    $(".robable").off().on("change", function() {
      if ($(this).val() !== "") {
        robable.add_to_list($(this));
      }
    });
  },
  remove_option_from_select: function(select_id, value) {
    $("#" + select_id + " option[value='" + value + "']").remove();
  },
  add_option_to_select: function(select_id, value, text) {
    $('#' + select_id).append('<option value="' + value + '">' + text + '</option>');
  },
  add_to_list: function(select) {

    option_text = $(".robable option[value='" + select.val() + "']").text();

    //Add to list
    $('#list').append("<li data-value='" + select.val() + "' data-text='" + option_text + "'><a href='#' class='filter-remove' data-parent-id='" + select.attr("id") + "'>Delete</a> " + option_text + "</li>");
    robable.remove_from_list();

    //Remove from select
    robable.remove_option_from_select(select.attr("id"), select.val());
  },
  remove_from_list: function() {
    $(".filter-remove").off().on("click", function() {
      var select_id = $(this).data('parent-id');
      var option_value = $(this).closest("li").data('value');
      var option_text = $(this).closest("li").data('text');

      //Add to select
      robable.add_option_to_select(select_id, option_value, option_text);

      //Remove from list
      $(this).closest("li").remove();
    });
  }
};

robable.init();
&#13;
&#13;
&#13;