ecs*_*ecs 0 forms jquery select ruby-on-rails
当用户从下拉列表中选择一个选项时,我试图让某个字段显示在表单中 - 即如果他们从下拉列表中选择"其他",则会在下拉列表下方显示"请指定"字段.我似乎无法让它工作 - "请指定"字段始终显示.我哪里错了?谢谢!
<script>
$(function(){
$("#pref-select").change(function(){
if ($("#pref-select").val()=="Other"){
$("#other-pref").show();
} else {
$("#other-pref").hide();
}
})
})
</script>
<div class="field">
<%= f.label :pref %><br />
<%= f.select :pref, ["", "1", "2", "Other"], {:id => "pref-select"} %>
</div>
<div class="field" id="other-pref">
<%= f.label :other_preference %><br />
<%= f.text_area :other_pref %>
</div>
Run Code Online (Sandbox Code Playgroud)
你可以这样做:http: //jsfiddle.net/vooboo13/RK97r/1/
您给出了不想显示css值为display:none的字段;
然后,您可以使用jQuery来监视某个值,如果它是该值,则显示它.
HTML:
选择"菲亚特",看看魔法发生了
<form action="" id="cars">
<select name="cars" id="car_selector">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<p> </p>
<label class="hidden_option">Why would you DO that?</label>
<input type="text" name="reason" class="hidden_option" />
</form>
Run Code Online (Sandbox Code Playgroud)
JS:
$(document).ready(function(){
$("#car_selector").change(function(){
if($("#car_selector").val() == "fiat"){
$(".hidden_option").fadeIn('fast');
}
});
});
Run Code Online (Sandbox Code Playgroud)
CSS:
.hidden_option{
display: none;
}
Run Code Online (Sandbox Code Playgroud)