【问题标题】:how to find duplicate dropdown row in a table using jquery?如何使用 jquery 在表中查找重复的下拉行?
【发布时间】:2016-12-27 21:39:49
【问题描述】:

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

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

HTML

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 代码有什么问题? 如果您有其他方法可以做到这一点,请说出来

提前致谢

【问题讨论】:

  • 将所有代码放入 JS Fiddle 并分享链接。这样会容易得多,因为我们需要您的 HTML 代码(不是图片)
  • 如果您禁用选择而不是删除它们,用户会更容易理解。您可能也更容易实现它。

标签: javascript php jquery html jquery-ui


【解决方案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');
  }
}

【讨论】:

    【解决方案2】:

    你可以这样做:

    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 ;
    }

    【讨论】:

      猜你喜欢
      • 2017-10-03
      • 1970-01-01
      • 2012-10-27
      • 2023-03-11
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-17
      相关资源
      最近更新 更多