我正在使用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')
});"
);
?>
请帮我解决这个问题。
答案 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 }?>