1.我用bootstrapValidator验证表单数据,有个input框需要异步校验是否存在,在remote中传入相关radio的参数时,获取的值都是第一条,获取不到正确选择的radio的值,抓急.求大神.
2.相关代码:
HTML:
<p class="form-group">
<label for="inputEmail3" class="col_sm_135 control-label">采购分类级别:</label>
<p class="col-sm-6">
<p class="check_span">
<label class="icon-radio-checked layerType choseone" for="menus"><input type="radio" name="layerType" id="menus" value="1" checked radiogroup="layerType" /></label><em>一级采购分类</em>
<label class="icon-radio-unchecked layerType chosetwo" for="menuss"><input type="radio" name="layerType" id="menuss" value="2" radiogroup="layerType"/></label><em>二级采购分类</em>
</p>
</p>
</p>
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里要写函数获取,代码如下:
我测试的没什么问题。