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

 亲清吻文kiss 发布于 2022-11-12 12:45

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

2 个回答
  • 我测试的没什么问题。

    2022-11-12 15:44 回答
  • 已经解决了,我分析是因为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
                        }
                    }
                },问题就解决了,希望能帮助到别人-.-
    2022-11-12 15:44 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有