Jquery 如何仅在选择下拉列表中的特定值时切换类?
所以,我使用的是bootsrap框架,我有一个div,我想根据下拉列表中的某个值来显示和隐藏它。这是我的密码:Jquery 如何仅在选择下拉列表中的特定值时切换类?,jquery,twitter-bootstrap,select,toggleclass,bootstrap-select,Jquery,Twitter Bootstrap,Select,Toggleclass,Bootstrap Select,所以,我使用的是bootsrap框架,我有一个div,我想根据下拉列表中的某个值来显示和隐藏它。这是我的密码: <label>Injury Prevention Topic</label> <select id="InjuryPreventionTopic" class="selectpicker show-tick"> <option value="Animal Bites">Animal Bites</option>
<label>Injury Prevention Topic</label>
<select id="InjuryPreventionTopic" class="selectpicker show-tick">
<option value="Animal Bites">Animal Bites</option>
<option value="Assault">Assault</option>
<option value="Burns and Scalds">Burns and Scalds</option>
<option value="Drowning">Drowning</option>
<option value="falls">Falls</option>
<option value="Firearms">Firearms</option>
<option value="Hanging">Hanging</option>
<option value="Homicide">Homicide</option>
<option value="Mutilation">Mutilation</option>
<option value="Not Further Specified">Not Further Specified</option>
<option value="Poisoning">Poisoning</option>
<option value="Self-Harm">Self-Harm</option>
<option value="Sport and Leisure">Sport and Leisure</option>
<option value="Suicide">Suicide</option>
<option value="roadaccident">Road Traffic Accidents</option>
</select>
<div id="drop3" class="collapse">
<label>Falls Sub Category</label>
<select id="FallsSubCategory" class="selectpicker show-tick">
<option>Case or Risk Identification</option>
<option>Exercise, Strength and Balance Training</option>
<option>Falls Risk Assessment</option>
<option>General</option>
<option>Hip Protectors</option>
<option>Multifactorial Interventions</option>
<option>Prevention Programmes</option>
<option>Vitamin D</option>
</select>
</div>
<script>
$('#InjuryPreventionTopic').change(function () {
if ($(this).val() == 'falls') {
$('#drop3').toggleClass('in');
}
});
</script>
我试过几种不同的方法,似乎都不管用。有什么想法吗?试试这个:
$('#InjuryPreventionTopic').change(function () {
if ($(this).val() == 'falls') {
$('#drop3').addClass('in');
}
else{
$('#drop3').removeClass('in');
}
});
我认为您需要添加/删除您的类,而不是关闭切换,因为如果该值没有下降,您的drop3元素将继续使用in类
请确认您已经包括jquery 1.11.0 您可以检查JSFIDLE
Here's [JsFiddle](http://jsfiddle.net/fL3ouc0f/) !
结果证明我的代码没有问题——只是放在我放的地方!我本来把它放在我在VisualStudio中工作的视图上,但是在_布局页面上尝试了一下,它就工作了 代码很好,看看是否包含jquery或notjquery,它在我网站的其余部分工作正常,只是不在这里。这都是在一个手风琴内部,但这不应该阻止它工作检查select的ID是否唯一。是的,搜索了我的整个解决方案,以确保我在其他地方测试了该部分,只是为了确保它与手风琴影响它无关。是的,抱歉,我之前尝试过,也不起作用。我认为问题可能不在于jquery,或者至少不在于它的工作方式:呈现html时出现了一些错误消息?啊,问题解决了!我将脚本移到了我的_布局模板,而不是我正在处理的视图上,并且切换和添加/删除方法都有效:@MichaelBale great:是的,很抱歉我之前尝试过,也不起作用。我认为问题可能不是jquery,或者至少不是这个小片段,从jquery 1.10.2到jquery 1.11.0的更改恐怕没有起到任何作用,而且您的JSFIDLE示例看起来也不起作用。对不起
Here's [JsFiddle](http://jsfiddle.net/fL3ouc0f/) !