1.我用bootstrapValidator验证表单数据,有个input框需要异步校验是否存在,在remote中传入相关radio的参数时,获取的值都是第一条,获取不到正确选择的radio的值,抓急.求大神.
2.相关代码:
HTML:
一级采购分类 二级采购分类
JS:
/ 表单验证
$('#procurementsettingsForm').bootstrapValidator({
fields : { layerType:{ validators:{ notEmpty: {message: '请选择采购分类'} } }, procurementName:{ validators:{ notEmpty: {message: '请填写采购分类名称'} , remote: { url: '/procurement/procurementName', message: '采购分类名称已存在,请修改', data: { layerType: $('input[name=layerType]:checked').val(), id:$('[name="id"]').val(), t_:new Date().getMilliseconds() }, delay: 3000 }, } }, ........
$('input[name=layerType]:checked').val()总是获取到1,不管我选的是哪个!
尝试把第一个采购分类的radio的checked去掉,还是不行.
我测试的没什么问题。
已经解决了,我分析是因为bootstrapValidator()方法会在初始化的时候把$('input[name=layerType]:checked').val()的值放进去,写死了,做了点实验确实如此,所以在data里要写函数获取,代码如下:
$('#procurementsettingsForm').bootstrapValidator({ fields : { layerID:"1111", layerType:{ validators:{ notEmpty: {message: '请选择采购分类'} } }, procurementName:{ validators:{ notEmpty: {message: '请填写采购分类名称'} , remote: { url: '/procurement/procurementName', message: '采购分类名称已存在,请修改', data: function(validator,$field, value) { return { layerType: $('input[name=layerType]:checked').val(), id:$('[name="id"]').val(), t_:new Date().getMilliseconds() } }, delay: 3000 } } },问题就解决了,希望能帮助到别人-.-