当选择下拉框中的某个值时,我希望使用jQuery的show()函数显示表单的另一部分。目前,标题上方的代码如下所示:
<script>
$(":input#location").change(function(){
if($(this).val() === 'On Rental'){
$('div#dpo').show("slow");
}
}
</script>
并且,表单的编码如下:
<p>
<strong><label for="location">Location</label></strong>
</p>
<select name="location" id="location">
<option value="Clarksville">Clarksville</option>
<!--etc.-->
</select>
<div id="dpo" style="display:none">
<!--Stuff I want to show here.-->
</div>
出于某种原因,当我从下拉字段中选择“On Rental”时没有任何反应,我不能为我的生活弄清楚我做错了什么。谁能看到我做错了什么?
答案 0 :(得分:1)
修剪该值并尝试如下,另一件事是如果您使用id而不需要在选择器中指定tage类型
$("#location").change(function(){
if($.trim($(this).val()) == 'On Rental'){
$('#dpo').show("slow");
}
}
答案 1 :(得分:0)
<script>
$("input#location").change(function(){
if($(this).val() === 'On Rental'){
$('div#dpo').show("slow");
}
}
</script>
答案 2 :(得分:0)
将其包装在document.ready函数中。您也可以使用ID
选择器。而你的选择不是输入类型..
$(function(){
$("#location").change(function() {
if ($(this).val() === 'On Rental') {
$('#dpo').show("slow");
}
}
})
答案 3 :(得分:0)
我尝试了上面的所有建议(包括将它包装在document.ready函数中),但我无法让它工作。当我放在文档的底部而不是标题中时,我最终得到了代码(就像我原来的那样)。我不太了解JavaScript和jQuery,知道为什么会这样......?