展开按钮单击时选择列表并隐藏选择
expand select list on button click and hide select
>我有一个常规的选择列表,我想:
- 在按钮上展开它,这是工作和完成
- 保持隐藏的选择列表,直到单击按钮。
- 我希望列表选项是点击事件。
请问有什么想法和建议吗?
showDropdown = function (element) {
var event;
event = document.createEvent('MouseEvents');
event.initMouseEvent('mousedown', true, true, window);
element.dispatchEvent(event);
};
window.runThis = function () {
var dropdown = document.getElementById('dropdown');
showDropdown(dropdown);
};
<select id="dropdown">
<option value="Red">Red</option>
<option value="Green">Green</option>
<option value="Blue">Blue</option>
</select>
<br>
<button id="fire" type="button" onclick="runThis()">Show dropdown items</button>
或者,在adndroi和ios设备上作为微调器响应的选择列表的最佳方法是什么?
更新
让我现在更新问题,因为这是现在工作的一部分:
function get_tables_restaurant(){
if($result2 = $this->db->query('SELECT * FROM fandb_tables ORDER BY title ASC')){
$return .= '<div class="lineheight"><button id="fire" type="button" class="add_table">+</button></div>
<select id="dropdown">';
while($r2 = $result2->fetch_object()){
$return .= '<option value="'.htmlspecialchars($r2->title).'">'.htmlspecialchars($r2->title).'</option>';
}
$return .= '</select>';
$return .= '<div id="test2" style="display: none;">
<h4>Table '.htmlspecialchars($r2->title).'</h4>
<form method="post" action="">
<input type="hidden" name="area" size="50" value="'.htmlspecialchars($r2->area).'"/>
<input type="hidden" name="tableno" size="50" value="'.htmlspecialchars($r2->title).'"/>
<input type="hidden" name="title" size="50" value="1"/>
<input type="submit" value="STARTER" class="starter"/>
</form>
<form method="post" action="">
<input type="hidden" name="area" size="50" value="'.htmlspecialchars($r2->area).'"/>
<input type="hidden" name="tableno" size="50" value="'.htmlspecialchars($r2->title).'"/>
<input type="hidden" name="title" size="50" value="2"/>
<input type="submit" value="MAIN COURSE" class="maincourse"/>
</form>
<form method="post" action="">
<input type="hidden" name="area" size="50" value="'.htmlspecialchars($r2->area).'"/>
<input type="hidden" name="tableno" size="50" value="'.htmlspecialchars($r2->title).'"/>
<input type="hidden" name="title" size="50" value="3"/>
<input type="submit" value="DESSERT" class="dessert"/>
</form>
<button onclick="$(''#test2'').popup(''hide'');" id="dismiss">DISMISS</button>
</div>';
}
所以现在对于每个选项,我需要显示弹出窗口,该弹出窗口test2
iddiv 具有上面的单个值,如上例所示。
我确实知道这必须在循环内while
但是一旦我将这个<div id="test2>...</div>
放在循环中,它就根本不起作用。
请问我可以向你们寻求建议吗?
排序!
:)正如你说的一点阅读和完成:)
$( "#dropdown" ).change(function() {
var element = document.getElementById('dropdown');
$('#test2'+element.value).popup('show');
谢谢大家的帮助:)
您可以在 CSS 中为下拉列表设置display: none
,并在单击按钮时创建一个.show
display: inline-block
。看看jQuery的.addClass()
和.click()
函数。
使用此处的部分答案,我编辑了您的jsFiddle:https://jsfiddle.net/sqp2xej5/13/
你可以
试试这个
showDropdown = function (element) {
var event;
event = document.createEvent('MouseEvents');
event.initMouseEvent('mousedown', true, true, window);
element.dispatchEvent(event);
};
window.runThis = function () {
var dropdown = document.getElementById('dropdown');
showDropdown(dropdown);
};
$('#reload').click(function(){
$('#dropdown').click();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="dropdown">
<option value="Red">Red</option>
<option value="Green">Green</option>
<option value="Blue">Blue</option>
</select>
<br>
<button id="fire" type="button" onclick="runThis()">Show dropdown items</button>
<button id="reload" type="button">Hide dropdown items</button>
相关文章:
- Angular:使用选择列表选择过滤代码中的对象
- 在Twitter BootStrap嵌套下拉列表中托管一个选择列表(IE 9特定)
- Jquery不允许来自多个选择列表的相同值
- 谷歌表单-根据分配给谷歌应用程序的工作为商业用户预先填充多项选择列表
- 如何修剪表单'提交'多级选择列表的值
- 使用jQuery获取选择列表中每个更改的值
- Javascript/Jquery将选择列表更改为单选按钮
- 动态填充的选择列表
- jqgrid动态加载选择列表
- 使用peta poco ORM在MVC应用程序中创建选择列表
- 我正在尝试从 xhtml 文件中动态提取所有
元素,并使用 javascript 将它们放入选择列表中
- JQuery无法找到选择列表
- 我正试图动态地拉动<h3>元素,并将它们放在选择列表中
- 根据预选,用值填充选择列表
- 在PHP中将下拉选择列表的内容从一个表单传递到另一个表单
- 我已经创建了一个动态的下拉选择列表,它指向一行;如何使该行成为变量
- 允许用户订购选择列表
- 动态选择列表AJAX和插入数据库表通过张贴形式
- 使用jQuery的层次选择列表
- 如何在选择列表项时重新加载iframe