如何检查多个选择中的重复条目?

时间:2015-12-11 12:43:46

标签: jquery yii2 multi-select

我正在使用Yii高级框架。 如果在multiselect中添加值,则需要重复记录。 如何防止这个问题?

<?php if($product_attribute->isNewRecord){?>
      <select multiple class="form-control" id="attrmngmnt" name="attrcom[]" multiple="multiple">                   
      </select>          
<?php } else { ?>
      <select multiple class="form-control" id="attrmngmnt" name="attrcom[]" multiple="multiple">
         <?php foreach ($data as $key => $eachdata) { ?>          
             <option value1="<?php echo $eachdata['id_attribute_group']?>" value="<?php echo $eachdata['id_attribute']?>" selected="selected"> 
             <?php echo $eachdata['attribute_group_name'].' : '.$eachdata['attribute_name']; ?>
             </option>  
         <?php } ?>
      </select>   
<?php }?>

这是我的Javascript代码:

<?php   
$url = \Yii::$app->urlManager->createUrl(['product/combinationform']);

  $this->registerJs( 

    "$('#add_attr').on('click', function(event){
        event.preventDefault();    
        var attr = $('#attribute-id_attribute_group :selected').text();        
        $('.form-group_select').show();        

      var duplicate=false;
        var attr1 = $('#title :selected').text();
        var attrval1 = $('#attribute-id_attribute_group :selected').val();
        var attrval = $('#title :selected').val();                

        $('#attrmngmnt').append($('<option>', { 
            value1: attrval1,
            value: attrval,            
            text : attr + ' : ' + attr1,
        }));

      $('#attrmngmnt option').attr('selected', 'selected')

    });"
  ); 
?>

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

$data array中使用array_unique()删除重复值。

<?php if($product_attribute->isNewRecord){?>
      <select multiple class="form-control" id="attrmngmnt" name="attrcom[]" multiple="multiple">                   
      </select>          
<?php } else { ?>
      <select multiple class="form-control" id="attrmngmnt" name="attrcom[]" multiple="multiple">
         <?php foreach (array_unique($data) as $key => $eachdata) { ?>          
             <option value1="<?php echo $eachdata['id_attribute_group']?>" value="<?php echo $eachdata['id_attribute']?>" selected="selected"> 
             <?php echo $eachdata['attribute_group_name'].' : '.$eachdata['attribute_name']; ?>
             </option>  
         <?php } ?>
      </select>   
<?php }?>