【问题标题】: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 它将禁用但仍在选择选项中。

标签: php oracle11g


【解决方案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 并提交时,所有选项都将被禁用。
猜你喜欢
  • 1970-01-01
  • 2017-06-29
  • 2014-07-12
  • 2013-05-10
  • 1970-01-01
  • 1970-01-01
  • 2016-10-06
  • 1970-01-01
  • 2023-03-23
相关资源
最近更新 更多