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

发布于 2022-09-04 10:19:03 字数 1781 浏览 11 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

二手情话 2022-09-11 10:19:03

已经解决了,我分析是因为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-09-11 10:19:03

我测试的没什么问题。
clipboard.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文