这些字段是正确隐藏的,但设置隐藏字段值的最佳方法是什么。
$j.registerType = {
'' : $j([]),
'srotc_cadet' : $j('#vm_schoolstate_divContainer,#vm_srotcschool_divContainer,#vm_mslevel_divContainer'),
'srotc_intructor' : $j('#vm_schoolstate_divContainer,#vm_srotcschool_divContainer'),
'jrotc_cadet' : $j('#vm_highschool_divContainer,#vm_highschoolstate_divContainer,#vm_highschoolcity_divContainer')
};
$j('#vm_registertype').change(function() {
// hide all
$j.each($j.registerType, function() { this.hide(); });
// show current
$j.registerType[$j(this).val()].show();
}).change();
$j('#vm_registertype').change(function() {
var regType = $j('#vm_registertype').val();
switch (regType) {
case "srotc_type":
$j('#vm_highschool_field,#vm_highschoolstate_field,#vm_highschoolcity_field').val("DOES NOT APPLY");
break;
}
}).change();
我只是注意到“srotc_type”错误。改变了它,但代码仍然不起作用....
答案 0 :(得分:1)
看起来你的目标不是你的问题(如何设置一个隐藏的输入值),而是你应该在将它从表单中取出时设置的值。那么,你可以这样做,而不是把古怪的东西放在价值中:
$j.each($j.registerType, function() {
this.find(':input').attr('disabled', true);
this.hide();
});
这样可以防止在提交表单时为这些输入发送任何值。