我正在使用Rails 3.1并且我正在渲染表单。如果用户在选择字段中选择“其他”,我还有一个我想要显示的字段。我目前已经选择了其他字段时显示其他字段,但是如果用户在页面重新加载时保存他们的选择,则即使选择框是其他字段,它也不会再次加载附加字段。
Here is the jQuery
$(document).ready(function() {
$('#user_gender_custom').hide();
$("#user_gender").change(function() {
if ($("#user_gender").val() == "custom") $("#user_gender_custom").show();
else $("#user_gender_custom").hide();
});
});
如果删除初始$('#user_gender_custom').hide();
,即使选择框值不是其他,它也会在页面加载时加载附加字段。
任何人都可以告诉我如何正常工作吗?非常感谢帮助。
答案 0 :(得分:1)
如果唯一的问题是初始加载(字段总是显示),那么做这样的事情可能是有意义的:
function toggle_custom() {
if ($("#user_gender").val()=="custom")
$("#user_gender_custom").show();
else
$("#user_gender_custom").hide();
}
$(function() {
toggle_custom();
$("#user_gender").change(function() {
toggle_custom();
});
});
答案 1 :(得分:0)
$(document).ready(function() {
$("#user_gender").val("custom")
$('#user_gender_custom').hide();
$("#user_gender").change(function() {
if ($("#user_gender option:selected").val() == "custom") $("#user_gender_custom").show();
else $("#user_gender_custom").hide();
});
$("#user_gender").change();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id='user_gender'>
<option val=''></option>
<option val=''>custom11</option>
<option val='custom'>custom</option>
</select>
<input type='text' id='user_gender_custom'/>
请手动添加更改。这样更改功能将在加载时调用