我有一个由数组填充的下拉菜单。目标是在下拉列表中仅选择一个值以防止重复的列值。
我发现一些javascript会在选中后禁用每个值,但是如果你重新加载页面,下拉列表中没有任何颜色显示(显然)。
如何将数组值与数据库进行比较以禁用已在加载的所有行中选择的值?
$(function(){
$('select').change(function() {
$current=$(this);
$("select").not($current).children(
"option[value='" + $current.val() + "']"
).attr('disabled', "disabled");
});
});
下拉菜单
<td>
<div class="grid_content editable">
<span><?php echo $records['equipment']; ?></span>
<select class="gridder_input select"
name="<?php echo encrypt("equipment|".$records['id']); ?>">
<?php
foreach($equipment as $equipments) {
?>
<option value="<?php echo $equipments; ?>"
<?php
if($equipments == $records['equipment']) {
echo 'selected="selected"';
}
?>>
<?php echo $equipments; ?>
</option>
<?php
}
?>
</select>
</div>
</td>
有没有比我建议的更简单的方法?我认为我发现的最接近的解决方案可以像
那样工作$("select option:contains('Value')").attr("disabled","disabled");
其中值将替换为检查数据库的内容。或者类似于使用if else语句找到here的答案