javascript - bootstrapValidator remote data属性里获取radio一直是错误的,求解答

查看:105
本文介绍了javascript - bootstrapValidator remote data属性里获取radio一直是错误的,求解答的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1.我用bootstrapValidator验证表单数据,有个input框需要异步校验是否存在,在remote中传入相关radio的参数时,获取的值都是第一条,获取不到正确选择的radio的值,抓急.求大神.

2.相关代码:
HTML:

<div class="form-group">
                   <label for="inputEmail3" class="col_sm_135 control-label">采购分类级别:</label>
                <div 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>
                </div>
              </div>
              

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
                    }
                }
            },问题就解决了,希望能帮助到别人-.-

这篇关于javascript - bootstrapValidator remote data属性里获取radio一直是错误的,求解答的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆