如何禁用选择选项值?

Posted

技术标签:

【中文标题】如何禁用选择选项值?【英文标题】:How to disable select option value? 【发布时间】:2022-01-15 18:15:56 【问题描述】:

如果从 while 循环中获取值,如何禁用选择选项值是否有其他方法可以解决此问题?

$qry = oci_parse($conn, "SELECT DATE_RES,TIME_RES FROM GYM_RESERVE GROUP BY DATE_RES, TIME_RES HAVING COUNT(*) >= 2");
oci_execute($qry);
while($row = oci_fetch_array($qry))
$time = $row['TIME_RES'];

<select>
     <?php echo $time == 6 ? "<option value='6' disabled>06:00 - 07:00 am</option>" : "<option value='6'>06:00 - 07:00 am</option>" ?>
     <?php echo $time == 7 ? "<option value='7' disabled>07:00 - 08:00 am</option>" : "<option value='7'>07:00 - 08:00 am</option>" ?>
     <?php echo $time == 8 ? "<option value='8' disabled>08:00 - 09:00 am</option>" : "<option value='8'>08:00 - 09:00 am</option>" ?>
</select>
<input type="submit" class="btn btn-primary" name="submit">

while 循环中的示例输出 67 我想禁用选项值 6 和 7。谢谢

【问题讨论】:

这和jquery有什么关系? @brombeer 也许 jquery 可以做点什么? 在您的 while 循环中实际上没有发生任何事情。 $row['TIME_RES'] 包含什么?如果它“只是”包含67,请执行if 检查并将disabled 属性添加到&lt;option&gt; @brombeer 它包含任何值,如果 count >= 2。如果 count >= 2 它将禁用但仍在选择选项中。 【参考方案1】:

你好,看看下面的东西

$qry = oci_parse($conn, "SELECT DATE_RES,TIME_RES FROM GYM_RESERVE GROUP BY DATE_RES, TIME_RES HAVING COUNT(*) >= 1");
oci_execute($qry);
$i=0;
while($row = oci_fetch_array($qry))
    $i++;
echo $row['TIME_RES'];

if ($i>0)
    $disable="disabled";

<select <?php echo $disable; ?>  > 

【讨论】:

OP 为什么要检查这个?请添加一些关于发生了什么的解释。为什么所有代码​​都在while 循环之外?这也会禁用完整的&lt;select&gt;,而不仅仅是&lt;option&gt; 您好,我错过了 echo $row['TIME_RES'];在while循环中..这里我提到的是用零值初始化一个变量($ i = 0;)......然后增加那个变量($ i ++)..然后检查这个变量是否大于'0'。 .. 如果要禁用整个选择,请在选择标签中给出变量 $disable 否则在选项标签中给出它 "然后检查变量是否大于 '0'" 您需要在 inside while 循环中执行此操作跨度> 不,你只需要在循环之外检查......我已经编辑了答案,现在你复制并检查你的页面...... 我的问题是当我select 6 并提交时,所有选项都将被禁用。

以上是关于如何禁用选择选项值?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据另一个下拉菜单值禁用下拉菜单

jQuery - 禁用选项时更改选择值

用户选择选项时禁用文本输入

如何使用 jquery 在选择框中启用/禁用选项

用户如何停止选择选择选项而不禁用它

如何在移动 Safari 的下拉列表中禁用选择选项 [重复]