这是我的HTML + PHP:
<select name="type" class="form-control form-update-user" id="type" tabindex=1>
<option selected="selected"><?php echo $thirds['type']; ?></option>
<option value="CLIENT">CLIENT</option>
<option value="AFFRETE">AFFRETE</option>
<option value="DEPOT">DEPOT</option>
</select>
我使用JQUERY作为javascript的框架。
我的问题可能很简单。但是,如何防止selectbox多次拥有相同的数据?例如,如果
$third['type'] = "AFFRETE"
然后,我将有一次AFFRETE作为选定值,再次在我的选择框中输入此值。我尝试在javascript中使用ready函数删除所选值:
<script type="text/javascript">
$(document).ready(function(){
$("#type option:selected").remove();
})
</script>
但是我选择了另一个值......逻辑。
提前谢谢。
答案 0 :(得分:1)
您可以直接在PHP中执行此操作。在添加元素作为选项之前检查数组值:
<select name="type" class="form-control form-update-user" id="type" tabindex=1>
<?php if (!in_array($thirds['type'], array('CLIENT', 'AFFRETE', 'DEPOT'))): ?>
<option selected="selected"><?php echo $thirds['type']; ?></option>
<?php endif; ?>
<option value="CLIENT">CLIENT</option>
<option value="AFFRETE">AFFRETE</option>
<option value="DEPOT">DEPOT</option>
</select>
或许你正在寻找:
<?php $options = array('CLIENT', 'AFFRETE', 'DEPOT'); ?>
<select name="type" class="form-control form-update-user" id="type" tabindex=1>
<?php foreach ($options as $option): ?>
<option value="<?php echo $option; ?>"
<?php if ($option === $thirds['type']): ?>
selected="selected"
<?php endif;
><?php echo $option; ?></option>
<?php endforeach; ?>
</select>
答案 1 :(得分:0)
尝试这样做:
<select name="type" class="form-control form-update-user" id="type" tabindex=1>
<option value="CLIENT" <?php echo $thirds['type']=='CLIENT'?'selected=selected':''; ?>>CLIENT</option>
<option value="AFFRETE" <?php echo $thirds['type']=='AFFRETE'?'selected=selected':''; ?>>AFFRETE</option>
<option value="DEPOT" <?php echo $thirds['type']=='DEPOT'?'selected=selected':''; ?>>DEPOT</option>
</select>
请记住,这是一种快速而肮脏的方法。喜欢创建一个循环来创建选项,而不是硬编码。