一系列下拉菜单,由jQuery提供支持,隐藏和显示,但不在Chrome中
A series of dropdown menus, powered by jQuery, hiding and showing, but not in Chrome
我是jquery和Web开发的n00b,我正在尝试创建一系列下拉菜单,当用户选择一个选项时,这些菜单将出现下一个dropdwon菜单,最后出现一个表格。
这是 HTML:
<div class="dropdownMenus">
<form id="menu1">
<h2>Choose your number</h2>
<select>
<option class="descriptive" value="descriptive">Please choose your area</option>
<option class="menuoption1" value="01493">01493 - Great Yarmouth</option>
<option class="menuoption1" value="01603">01603 - Norwich</option>
<option class="menuoption1" value="01393">01393 - Kings Lynn</option>
<option class="menuoption1" value="01763">01763 - Lowestoft</option>
</select>
</form>
</div>
<div class="dropdownMenus">
<form id="menu2">
<h2>Number Type</h2>
<select>
<option class="descriptive" value="descriptive">Please choose your number</option>
<option class="menuoption2" value="gold">Gold</option>
<option class="menuoption2" value="silver">Silver</option>
<option class="menuoption2" value="bronze">Bronze</option>
</select>
</form>
</div>
<div class="dropdownMenus">
<form id="menu3">
<h2>Order</h2>
<form>
<input id="menuoption3" type="checkbox" value="sequential"> Sequential<br>
<input id="menuoption4" type="checkbox" value="random"> Random<br>
<input id="menuoption5" type="checkbox" value="voice"> Voice<br>
<input id="menuoption6" type="checkbox" value="email"> Email<br>
</form>
</form>
</div>
<table id="resultsTable">
<thead>
<tr>
<th>Area</th>
<th>Number Type</th>
<th>Select</th>
<th>Voice</th>
<th>Mail</th>
</tr>
</thead>
<tbody>
<tr>
<td>Placeholder Data</td>
<td>Placeholder Data</td>
<td>
<input type="checkbox" id="select" />
</td>
<td>
<input type="checkbox" id="voice" />
</td>
<td>
<input type="checkbox" id="mail" />
</td>
</tr>
</tbody>
</table>
这是我的jQuery:
$(document).ready(function(){
var $packages = $("#menu2");
var $orders = $("#menu3");
var $resultsTable = $("#resultsTable");
$packages.hide();
$orders.hide();
$resultsTable.hide();
$(".menuoption1").click(function(){
$packages.show();
});
$(".menuoption2").click(function(){
$orders.show();
});
$("#menuoption3, #menuoption4, #menuoption5").click(function(){
$resultsTable.show();
});
});
这是我到目前为止所做工作的链接:https://jsfiddle.net/monkeyroboninja/9f9sotfv/
如果您查看Firefox或IE中的链接,它可以正常工作,但是通过Chrome查看它并不能完全工作。元素的初始隐藏有效,但在触发 click() 事件时显示则无效。任何帮助将不胜感激:-)
而不是
$(".menuoption1").click(function(){...
尝试
$("#menu1").change(function(){...
这应该适用于所有浏览器,并在下拉列表的值更改时触发。
.click不起作用的原因(感谢@Archer):
这是因为选项元素没有单击事件。
选择元素上的更改事件处理程序也可以工作。
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- 在firefox和chrome中的左侧显示iframe滚动条
- Chrome(webkit?)无法在幻灯片中正确显示图像
- Firefox赢得了'不会显示我添加的jquery元素,但Chrome会显示
- 无法在Chrome(打包)应用程序上检测到ESC按钮(全屏显示时)
- Chrome和Firefox之间的Wordpress显示差异
- 向下滚动时隐藏菜单,向上滚动时显示,适用于Chrome,不适用于Safari(手机)
- Chrome 开发工具:如何计算加载弹出窗口并将其显示在页面上所需的总时间
- 在Chrome扩展程序中,是否可以截屏并在弹出窗口中显示屏幕
- 一系列下拉菜单,由jQuery提供支持,隐藏和显示,但不在Chrome中
- 显示chrome.storage中的所有内容
- 仅当标签页处于非活动状态时,才会显示 Chrome 桌面通知
- 未显示 Chrome 扩展程序浏览器操作
- 如何请求在popup.html中显示chrome扩展的清单版本号
- 如何选择性地显示Chrome扩展'的工具栏图标
- 超链接图像不显示Chrome扩展
- Ubermenu子菜单不显示Chrome/Safari
- Javascript:总是显示Chrome地址栏
- history.back()显示Chrome的问题