javascript - bootstrapValidator remote data属性里获取radio一直是错误的,求解答
ringa_lee
ringa_lee 2017-04-11 11:26:24
0
2
461

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去掉,还是不行.

ringa_lee
ringa_lee

ringa_lee

全員に返信(2)
黄舟

已经解决了,我分析是因为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
                    }
                }
            },问题就解决了,希望能帮助到别人-.-
いいねを押す +0
左手右手慢动作

我测试的没什么问题。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート