如果通过jQuery存在具有相同选项类的任何其他选择标记,请检查更改

时间:2015-05-04 13:48:51

标签: javascript jquery html

我有两个下拉选择器的HTML代码:

<select class="sel1">
    <option class="c21" selected></option>
    <option class="c20"></option>
</select>

<select class="sel2">
    <option class="c21" selected></option>
    <option class="c22"></option>
</select>

如何检查不同<select>标签中的两个选定选项是否具有相同的类?

$('.sel1').change(fucntion(){
    var op1class = $('.sel1 option:selected').attr("class");
    // How can I check if any other selected <select> tag has the same option class?
});

2 个答案:

答案 0 :(得分:1)

$

中缺少('.sel1 option:selected').attr("class");
$('.sel1').change(function(){
  var op1class = $('.sel1 option:selected').attr("class");
  var op2class = $('.sel2 option:selected').attr("class");
  if(op1class == op2class ){
    //you code
  }
  alert(op1class);
  alert(op2class);
});  

upDated

$('.sel1').change(function(){
  var op1class = $('select option:selected').attr("class");
  var arr = $('select option:selected').map(function(){
    return $(this).attr("class");
  }).get()
  //var op2class = $('.sel2 option:selected').attr("class");
  //if(op1class == op2class ){
    //you code
  //}
  alert(arr);
  //alert(op2class);
});  

<强> Demo

答案 1 :(得分:0)

您可以通过$('option:selected')选择所有选定的选项。然后简单地遍历它们并查看它是否包含引用选项*的类。请注意,“sel1”中的选项也是数组的一部分,因此您需要过滤此元素,即通过读取它的父类。

*请参阅@Ana Vinatoru关于如何正确执行此操作的评论。