找回密码
 立即注册

QQ登录

只需一步,快速开始

火水

高级会员

90

主题

234

帖子

1034

积分

高级会员

积分
1034

微信认证勋章

火水
高级会员   /  发表于:2018-12-27 10:14  /   查看:5193  /  回复:2
在制作问卷中,最希望得到的数据一般都是其他项,希望对与其他是极少数人的需求,如果满足这些需求,对与一些客户的竞争力会达到百分百。
所以希望在使用多选框时,有其他项,希望填报者在勾选其他项时,可以保证百分百填写其他项。但是目前在使用手机端的多选框时,使用非空校验。如果在其他项被勾选的情况下,同时勾选其他项,可以避开非空校验,直接存入数据库,这样不能达到想要的结果。
有什么办法,在填报者使用多选框的时候,勾选其他项时,必须填写后面的内容,才能提交数据。

2 个回复

倒序浏览
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-12-27 14:44:10
沙发
这个虽然我们并不觉得很合理,但是会研究一下怎么做哈。

为什么我会觉的不合理呢,原因:如果填写这个表单(问卷)的人想写其他的信息,他自己就会给你填写进去了;如果他乡麻烦不想填写,我们即使提示他了,他一样会给把其他反勾掉,希望您慎重考虑一下这个使用场景。
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-12-27 15:31:19
板凳
你可以使用这个代码,来找到这个时机
  1. $('input[othertext="otherText"]')
  2.   .focusout(function(event) {
  3.      var target = event.target;
  4.      if (typeof (target.value) === 'undefined' || target.value === '') {
  5.         
  6.         var labels = $(target).siblings('label');
  7.         var otherCheck = labels[labels.length - 1];
  8.         var isChekced = $(otherCheck).find('input')[0].checked;
  9.         if (isChekced) {
  10.             alert('该值不能为空');
  11.         }
  12.      }
  13.   });


  14. function checkEmptyOtherText() {
  15.     var checkboxes = $('input[othercheck="otherCheck"]');
  16.     for(var i = 0; i < checkboxes.length; i++) {
  17.         var checkbox = checkboxes[i];
  18.         if (checkbox.checked) {
  19.             var textInput = $(checkbox).parent().siblings(':last');
  20.             if (textInput.val() == '') {
  21.                 alert('有空值');
  22.             }
  23.         }
  24.     }
  25. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部