当我隐藏输入时,我应该如何处理表单输入的值?

时间:2009-08-29 19:04:57

标签: jquery

这些字段是正确隐藏的,但设置隐藏字段值的最佳方法是什么。

$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”错误。改变了它,但代码仍然不起作用....

1 个答案:

答案 0 :(得分:1)

看起来你的目标不是你的问题(如何设置一个隐藏的输入值),而是你应该在将它从表单中取出时设置的值。那么,你可以这样做,而不是把古怪的东西放在价值中:

$j.each($j.registerType, function() {
    this.find(':input').attr('disabled', true); 
    this.hide();
});

这样可以防止在提交表单时为这些输入发送任何值。