bootstrapValidator验证的remote中data属性里获取select一直是默认值

 1 budgetEditionNo:{
 2                     message:'版本号输入不正确' ,
 3                     validators:{
 4                         notEmpty:{
 5                             message:'版本号不能为空,请填写'
 6                         } ,
 7                         remote:{
 8                             url:'${WEB_PATH}/ybudget/ybudgetEdition/validataBudgetEditionNoByYearAndEditionNo.action' ,
 9                             message:"版本号重复,请重新输入!" ,
10                             delay:1000 ,
11                             type:'get' ,
12                             data:
13                                 {
14                                     budgetEditionYear: $("#budgetEditionYear option:selected").val(),
15                                     budgetEditionNo:$("input[name='budgetEditionNo']").val().trim()
16                                 }
17                         }
18                     }
19                 } ,

就如上面代码一样,功能是需要通过年份和所输入的版本号来验证该版本号的唯一性,注意remote中的data属性,这样获取值虽可以获取到输入框的值,但获取到select标签选中的值为默认值,一开始想不通,以为是获取的代码写错了,之后经过再三分析,原来是因为bootstrapValidator()方法会在初始化的时候把$("#budgerEditionYear option:selected").val()的值放进去,是我自己把数据写死了,做了点实验确实如此,所以在data里需要写函数动态获取,代码如下:

budgetEditionNo:{
                    message:'版本号输入不正确' ,
                    validators:{
                        notEmpty:{
                            message:'版本号不能为空,请填写'
                        } ,
                        remote:{
                            url:'${WEB_PATH}/ybudget/ybudgetEdition/validataBudgetEditionNoByYearAndEditionNo.action' ,
                            message:"版本号重复,请重新输入!" ,
                            delay:1000 ,
                            type:'get' ,
                            data:
                                function () {
                                    return {
                                        budgetEditionYear: $("#budgetEditionYear option:selected").val(),
                                        budgetEditionNo:$("input[name='budgetEditionNo']").val().trim()
                                    }
                                }
                        }
                    }
                } ,

看来是自己粗心了,之后还得仔细点,哈哈哈哈~~~~

猜你喜欢

转载自www.cnblogs.com/mYunYu/p/9397524.html