开关-开 checkbox

提问 已结
21 199
IT_bai
IT_bai 2018-8-6
悬赏:20飞吻
版本:layui 浏览器:谷歌



初始值都在entity中 0代表"不发送" 1代表"发送" 如何在页面加载中附初始值,及提交后台时如何获取值
是否可以用form表单 但为啥默认的全是开ON了
回帖
  • @IT_bai 这个叫立即执行函数,
    方法定义
    var fn = function(){};
    方法调用
    fn();
    立即执行函数
    (function(){})()
    比如我上面给你写的那个。form.val的第二个参数里面的close:function(){}()你就理解为要得到这个值的时候会执行一下和这个方法然后取到这个方法的返回值, 它的结果close就是一个值,你如果设置成close:function(){},那么close很显然就是一个方法,如果你没有调用这个方法,是绝对不会走方法体里面的内容的,因为close是方法,那么就是true了,跟你想要的是完全不同的两回事的
    0 回复
  • 这个是你对form.val有误区,val的第二个参数是一个键值对的对象,你这样设置是里面FlowSend都会被认为是true的,如果你想要是一个动态的值到时候赋值的时候执行返回值,那么不应该是这样子写,应该类似下面的。
    form.val('formFilter', {
    FlowSend:function(){
    if(满足条件){return true} else {return false;}
    }(),
    findSend: 方法()
    })
    0 回复
  • IT_bai
    2018-8-6
    @岁月小偷 上午就试了 不行这样还是都是选中 状态 就是if里面不加条件 只加function 都起不到作用 你这有这么checkbox赋值 取值 提交的例子么
    0 回复
  • @IT_bai 上午就试了用value是一个function返回一个true或者false吗?
    注意看方法这里有一个()跟你的那个写法意义完全不一样的,你那个首先觉得很别扭,而且里面的方法体也不会被执行的。你可以打断点,或者在里面输出一些信息看看,正常是不会被执行的。
    0 回复
  • IT_bai
    2018-8-6
    @岁月小偷 true false 不行 也进不去
    0 回复
  • @IT_bai 看看你怎么写的
    0 回复
  • IT_bai
    2018-8-6
    0 回复
  • 我本地试了一下是可以的,估计是你少加了else{return false;}

    开关的值的代码
    0 回复
  • IT_bai
    2018-8-6
    @岁月小偷 function(){}();这最后再加一个()该怎么理解 以前没这样写过[晕]
    0 回复
  • IT_bai
    2018-8-6
    @岁月小偷 哦 原来这样 厉害 还有一个
    0 回复
  • @IT_bai 这样子很不妥吧,通过下标这个很不靠谱的,哪天调整了结果这段代码就废了,得根据input的或者其他的类型的name来找,
    <input name="userName" value="">
    0 回复
  • IT_bai
    2018-8-6
    @岁月小偷 只有这样根据data.filed 取得name对应的值了
    0 回复
  • 嗯嗯,你可以自己做一下过滤处理嘛就是你现在处理的内容,只要在实际发ajax之前想对数据怎么处理都行,只不过我说的你可能又没理解对,你要的是找到它是否选中的,是就是1,否就是0,那么这个可以根据数据也可以根据dom节点的checked的值也可以。用的节点的名称,要用formELem.find('[name="FlowSend"]')[0].checked;我说的是通过name去找是这样子的额,
    0 回复
  • IT_bai
    2018-8-6
    @岁月小偷 你应该建个群 [微笑]
    0 回复
  • @IT_bai 每个人都有擅长和不擅长的哈
    0 回复
  • IT_bai
    7天前
    @岁月小偷 下拉框判断 如果不合要求,就清空选择 如何实现 我上面方法不对么 没飞吻了
    0 回复
  • @IT_bai .val()不是这样子用的额,.val()这个是取值,不能在后面=''来设置值,要设置应该是.val('');这样子,你试试看是不是额。
    0 回复
  • IT_bai
    7天前
    @岁月小偷 为什么不能return data.value =='';这个呢 还有 最后需要清空渲染一下 不能单独渲染某一个lay-filter的select么[可怜] 好像是不支持这样渲染,只能 form.render('select()');
    0 回复
  • @IT_bai 不能,form.render两个参数,一个是类型,另外一个就是你要render的form的filter目前只有这两个,不支持说render到具体的某一个节点,这个如果需要应该要改源码。另外一个问题你要知道进入这个select的监听里面的时候他给你的实参是个什么东西,这个data是它自己包装的一个对象,不是你想的那个select。有个话可能说了你不太爱听,但是这个对你后面开发有好处,开发需要做到有依有据,不能靠自己的臆想胡乱尝试,这个能达到自己设想的概率跟买彩票中大奖差不多,但是如果你想要有更好的提升的话不能用买彩票的方式来开发,这个是我的个人看法额。
    0 回复
  • IT_bai
    7天前
    @岁月小偷 好的 受教了
    0 回复
  • 0 回复