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

时间:2023-03-10 05:04:29
bootstrapValidator验证的remote中data属性里获取select一直是默认值
 budgetEditionNo:{
message:'版本号输入不正确' ,
validators:{
notEmpty:{
message:'版本号不能为空,请填写'
} ,
remote:{
url:'${WEB_PATH}/ybudget/ybudgetEdition/validataBudgetEditionNoByYearAndEditionNo.action' ,
message:"版本号重复,请重新输入!" ,
delay:1000 ,
type:'get' ,
data:
{
budgetEditionYear: $("#budgetEditionYear option:selected").val(),
budgetEditionNo:$("input[name='budgetEditionNo']").val().trim()
}
}
}
} ,

就如上面代码一样,功能是需要通过年份和所输入的版本号来验证该版本号的唯一性,注意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()
}
}
}
}
} ,

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