如何使用jquery在表中查找重复的下拉行?

时间:2016-08-21 04:33:43

标签: javascript php jquery html jquery-ui

有一个表格,其中包含每行的用户下拉列表。需要防止在表格中选择重复的下拉用户。

enter image description here

当选择上表中的重复用户为“easy”时,js代码应保留用户下拉的第一个,其余的重复用户下拉列表要从表中删除。

HTML enter image description here

Javascript代码

function  checkDuplicateUserId(obj){
  var user_id=$("#"+obj.id+" option:selected").val();            
  $('tbody#data tr select').each(function (i, row) {
  if ($('tbody#data tr select').find('option[value="' + $(this).val() + '"]').size() > 1) {
      alert();
  } 

  });

}

function  checkAlreadySelected(obj){
    checkDuplicateUserId(obj);
    var num = parseInt($(obj).attr('num'));
    var user_id=$("#"+obj.id+" option:selected").val();            
    var next_user_id=$("#user_id_"+eval(num+1)+" option:selected").val();          
    if(user_id && typeof next_user_id == 'undefined'){
        var row = updateSrNo(num);
        $("#data").append(row);
    }

   }

正如我在js代码中提到的,我编写了一个名为 checkDuplicateUserId()的函数来检测表中的重复下拉列表,不幸的是 alert()选择重复的用户时没有提示。

我错误地写错了jquery代码的问题是什么? 如果你有其他方法可以做到这一点,请说出来

提前致谢

2 个答案:

答案 0 :(得分:1)

您可以这样做:



function  checkAlreadySelected(obj){
  var user_id=$("#"+obj.id+" option:selected").val();            
  $('tbody#data tr select').each(function (i, row) {
  if ($(this).val()==user_id) {
      return false ;
  } 

  });
  return true ;
}




答案 1 :(得分:1)

试试这个:

function  checkDuplicateUserId(obj){
  var user_id=$("#"  +obj.id + " option:selected").val();            

  if( $('tbody#data tr select option:selected').filter( function(){ if( $(this).val() == user_id ) return true; } ).length > 1) {
    alert('something');
  }
}