Javascript 检查是否在此基础上在选择列表/条件中选择了给定变量

Javascript 检查是否在此基础上在选择列表/条件中选择了给定变量,javascript,jquery,Javascript,Jquery,我有以下几点: $('#edit-profile-main-field-county-und option[value=' + code + ']').attr('selected', true); 元素是一个包含多个选项的选择列表,可以同时选择多个选项 代码是包含“选择列表”选项值的变量 基本上,我想检查是否选择了以代码作为值的选项,如果选择了,则取消选择它,而不是像现在这样选择它 我看到的每个示例都会检查所有选定的值,这在我的示例中是不必要的。这是用于地图上的选择/取消选择功能。这就是我解

我有以下几点:

$('#edit-profile-main-field-county-und option[value=' + code + ']').attr('selected', true);
元素是一个包含多个选项的选择列表,可以同时选择多个选项

代码是包含“选择列表”选项值的变量

基本上,我想检查是否选择了以代码作为值的选项,如果选择了,则取消选择它,而不是像现在这样选择它


我看到的每个示例都会检查所有选定的值,这在我的示例中是不必要的。这是用于地图上的选择/取消选择功能。

这就是我解决问题的方法:

if($('#edit-profile-main-field-county-und option[value=' + code + ']').attr('selected') == 0) {
      $('#edit-profile-main-field-county-und option[value=' + code + ']').attr('selected', true);
      }
      else if($('#edit-profile-main-field-county-und option[value=' + code + ']').attr('selected') == 1) {
            $('#edit-profile-main-field-county-und option[value=' + code + ']').attr('selected', false);
    }

如果您使用的是jquery>1.6,那么可以使用如下方法

var option = $('#edit-profile-main-field-county-und option[value=' + code + ']');
option.prop('selected', !option.prop('selected'));

这不是我想要的。我不想要所有选定的项目。我想检查是否选择了一个项目。我可以用它来检查列表中的值,但我希望它可以直接检查,而不必抓取所有其他选项。选择一个特定选项,并将其与:selected组合–如果选择了一个选项,您将返回该选项元素,如果没有,您将得到一个空的jQuery对象…在1.6以上的版本中.attr方法不起作用吗?