在火狐下无法获取select设置display:none后的选中的值

自己写一个select元素一套皮肤来替换默认的select标签,把select的样式设置成 display:none。在提交表单时,明明选中的公司规模传到后台总是返回错误信息,没有选中公司规模。

这个问在其它chorme 360下面是正常的,当时是用的jquery的序列化serialize()方法。通过debug看到在向后台传送数据前,获取到select的值和选中的option的值不一致。

serialize获取select值总是第一个option的值。

然后我把serialize改成单独获取每个表单元素的值。这样可火狐下可以通过。


页面效果 :

在火狐下无法获取select设置display:none后的选中的值_第1张图片


 data = $("#Form").serialize();
data中获取select的第一个元素;


解决办法是单独获取每一个表单元素的值:

      var name1= $('input[name="name1"]').val();
      var name2= $('select[name="name2"]').find("option[selected='selected']").val();
      var data = {
        name1 : name1,
        name2: name2
      };

这样可以正确获取到它们的值

你可能感兴趣的:(在火狐下无法获取select设置display:none后的选中的值)