如何禁用选择选项值?
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
循环中的示例输出 6
和 7
我想禁用选项值 6 和 7。谢谢
【问题讨论】:
这和jquery
有什么关系?
@brombeer 也许 jquery 可以做点什么?
在您的 while
循环中实际上没有发生任何事情。 $row['TIME_RES']
包含什么?如果它“只是”包含6
或7
,请执行if
检查并将disabled
属性添加到<option>
@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
循环之外?这也会禁用完整的<select>
,而不仅仅是<option>
您好,我错过了 echo $row['TIME_RES'];在while循环中..这里我提到的是用零值初始化一个变量($ i = 0;)......然后增加那个变量($ i ++)..然后检查这个变量是否大于'0'。 .. 如果要禁用整个选择,请在选择标签中给出变量 $disable 否则在选项标签中给出它
"然后检查变量是否大于 '0'" 您需要在 inside while
循环中执行此操作跨度>
不,你只需要在循环之外检查......我已经编辑了答案,现在你复制并检查你的页面......
我的问题是当我select
6 并提交时,所有选项都将被禁用。以上是关于如何禁用选择选项值?的主要内容,如果未能解决你的问题,请参考以下文章