【发布时间】:2011-06-09 14:56:39
【问题描述】:
好的,让我们从一个例子开始。
请记住,这只是一个示例。
<select id = "selection1"><option value = "1" id = "1">Number 1</option><option value = "2" id = "2">Number 2</option><option value = "3" id = "3">Number 3</option></select>
现在,我们有一个包含 3 个选项的下拉菜单。
我现在要做的是隐藏一个选项。
添加 style = "display:none" 将没有帮助。
该选项不会出现在下拉列表中,但使用箭头键,您仍然可以选择它。
从本质上讲,它完全按照代码所说的那样做。它不显示,并停在那里。
$("#1").hide() 的 JQuery 函数将不起作用。
另外,我不仅想隐藏该选项,还想完全删除它。
有可能这样做吗?
我必须使用父/兄弟/子元素吗?如果是这样,我仍然不确定如何。
对此的任何帮助将不胜感激。谢谢。
另一个问题 - 它是相关的
好的,所以我发现在 JQuery 中有一个 .remove() 可用。效果很好。
但是如果我想把它带回来呢?
如果(条件)
{
$(this).remove();
}
我可以循环播放。不应该很复杂。
但我想做的是:
班级的最大容量:(此处输入字段)
选择房间:(此处下拉)
我希望它使用.change() 或.keyup 等函数更新下拉列表。
我只能在输入内容后创建下拉列表。在更改或键入时,相应地执行下拉菜单。
但我正在做的是:
$roomarray = mysql_query("SELECT *
来自
(
选择 *,
案例
当类型 = '课堂' 那么 1
当类型 = '计算机实验室' THEN 2
WHEN type = 'Lecture Hall' THEN 3
当 type = 'Auditorium' THEN 4
END AS ClassTypeValue
来自房间
) t
ORDER BY ClassTypeValue, maxppl, roomID");
echo "<select id = \"room\">";
while ($rooms = mysql_fetch_array($roomarray))
{ ?>
<option value=<?php echo $rooms['roomID']; ?> id=<?php echo $rooms['roomID']; ?>><?php echo $rooms['type']; echo " "; echo $rooms['roomID']; echo " ("; echo $rooms['maxppl']; echo ")"; ?></option>
<?php
}
echo "</select>";
是的,我知道这很乱。
我打算稍后更改它。
但现在的问题是:我可以根据输入的内容切换选项的删除吗?
是否可以通过循环制作的下拉菜单来做到这一点?因为我肯定不能继续执行 SQL 查询。或者这甚至是一种选择?因为如果可能的话,我仍然认为这很糟糕。
【问题讨论】:
-
顺便说一句:.. 以数字开头的 id 或类名无效 - 请参阅 stackoverflow.com/questions/448981/…
-
我已将答案更改为支持禁用(删除)和启用(附加)选项的插件。我希望它能回答你的问题。
标签: jquery select hide parent-child option