Jquery 切换可见性的代码优化
好吧,伙计们,这是我的问题。我正在一个人们可以注册x的网站上工作。我有一个州的下拉菜单供人们选择。根据他们对州的选择,我有另一份医院名单,可供选择,这取决于他们对州的选择。所以,如果你选择夏威夷,你将只看到夏威夷的医院,而不是德克萨斯州,例如。我有一个根据复选框的值切换可见性的函数,但我似乎无法使它对下拉列表的值起作用。有什么想法吗?如果有一种更快或更符合行业标准的方法来解决这个问题,任何朝着正确方向的转向都将受到极大的赞赏 我想用的是:Jquery 切换可见性的代码优化,jquery,drop-down-menu,jquery-events,Jquery,Drop Down Menu,Jquery Events,好吧,伙计们,这是我的问题。我正在一个人们可以注册x的网站上工作。我有一个州的下拉菜单供人们选择。根据他们对州的选择,我有另一份医院名单,可供选择,这取决于他们对州的选择。所以,如果你选择夏威夷,你将只看到夏威夷的医院,而不是德克萨斯州,例如。我有一个根据复选框的值切换可见性的函数,但我似乎无法使它对下拉列表的值起作用。有什么想法吗?如果有一种更快或更符合行业标准的方法来解决这个问题,任何朝着正确方向的转向都将受到极大的赞赏 我想用的是: $(document).ready(function()
$(document).ready(function()
{ $('#stateinjured').change(function()
{
$('#stateinjuredky').toggle(this.checked);
});
});
您应该研究jQuery的AJAX,它速度快,不需要本地服务器就可以使用它,您可以使用web服务器
请看这里:我认为您的id和样式在错误的元素上。您还需要一些逻辑来确定选择了什么,然后显示正确的列表。下面的代码在页面加载时仅显示1个选择框,然后根据选择的内容显示请求的列表:
$(document).ready(function()
{
$('#stateinjured').change(function() {
var selectedOption = $(this + "option:selected").val();
if (selectedOption == "Kentucky") {
$("#stateinjuredky").css("display","block");
}
//or you could just have the select ids be the state names, then you wouldn't need all these if...else statements
});
});
然后
<select id="stateinjured">
<option selected="selected">Select your state</option>
<option>Kentucky</option>
<option>West Virginia</option>
<option>Ohio</option>
<option>Tennessee</option>
</select>
<br/>
<select id="stateinjuredky" style="display: none;">
<option selected="selected">Choose hospital you visited</option>
<option>hospital1</option>
<option>hospital2</option>
<option>hospital3</option>
</select>
<!-- more selects for other states -->
但是,正如其他人所说,确实有更有效的方法可以做到这一点。您是否考虑过使用AJAX调用来填充医院列表?我很想知道如何做到这一点,但我没有:/。刚刚开始使用jquery。另外,这台计算机没有管理员权限,我无法在其上安装apache。我可以在我的网站上测试ajax,尽管ajax调用是不需要的,除非它是数据库驱动的。它应该是数据库驱动的,但不是必需的。Ajax非常有用,它基本上允许您远程调用另一个文件,可以是HTML、文本、PHP或其他文件。我建议你们花大约2个小时研究JSON,了解$.ajax是如何工作的。-若这是一个学校项目或什么的,你们可以制作一个医院的javascript数组,而不是求助于ajax调用。-我只是说你们不需要ajax,因为知道ajax的用途很重要,而不是如何使用它。所以没有一个好的jQuery修复程序?熟悉AJAX需要多少时间来执行这个级联下拉列表?如果你想用jQuery解决这个问题,你可能会花很长时间编写代码,而你只需要在眨眼之间创建一个AJAX函数。jquery.com网站准备就绪后,很快就会了解AJAX语法和用法:试试看;好吧,但如果我搞不懂,我会烦你的。谢谢你的帮助。你能给我指出一个正确的方向吗?除了我正在研究的AJAX之外,还有什么可能呢?不,AJAX主要是我指的。您将有第二个页面根据传递的参数生成列表。然后你可以有一个div或者其他东西,你可以从第二页加载数据。使用jqueryload语句,您可以加载页面片段并将数据数组传递给服务器进行处理。
<select id="stateinjured">
<option selected="selected">Select your state</option>
<option>Kentucky</option>
<option>West Virginia</option>
<option>Ohio</option>
<option>Tennessee</option>
</select>
<br/>
<select id="stateinjuredky" style="display: none;">
<option selected="selected">Choose hospital you visited</option>
<option>hospital1</option>
<option>hospital2</option>
<option>hospital3</option>
</select>
<!-- more selects for other states -->