layui 父页面传值到子页面 下拉选择框内容无变化,但是class样式有更新

提问 未结 8 83
忘绝尘
忘绝尘 6天前
悬赏:20飞吻
版本:layui 2.4.5 浏览器:Google Chrome 78.0.3904.108
代码如下:

运行后:
点击前:

点击后:

所以我想问下如何才能将值传过去,表单渲染我也有写,希望各位大神可以帮忙解答下,谢谢
回帖
  • 子页面用的layui.all.js吧?可以使用layui.js,或者在子页面使用定时器重新渲染

    settimeout(function(){form.render();},200)
    0 回复
  • 这就很尴尬了,认真看了几遍,没看到你表达的意思,要不你在重新组织下语言
    0 回复
  • @荒街 都是用layui.js的
    0 回复
  • @tiane 就是父子框传值,select无法传值,input的就可以,就算写了传值,也是需要点击下才能显示,要不然就是显示默认的第一个选项
    0 回复
  • @忘绝尘 //给表单赋值
    form.val("formTest", { //formTest 即 class="layui-form" 所在元素属性 lay-filter="" 对应的值
    "username": "贤心" // "name": "value"
    ,"sex": "女"
    ,"auth": 3
    ,"check[write]": true
    ,"open": false
    ,"desc": "我爱layui"
    });

    //获取表单区域所有值
    var data1 = form.val("formTest");

    你试下这个玩意吧,

    如何还是不行,就是,下拉框内容某行,插入个selected=" "
       <select name="quiz1">
    <option value="">请选择省</option>
    <option value="浙江" selected="">浙江省</option>
    <option value="你的工号">江西省</option>
    <option value="你最喜欢的老师">福建省</option>
    </select>
    0 回复
  • 试下,我说的第一种相对来好用点,第二种看你插入代码写的好不好了
    0 回复
  • @tiane
    body.find(".xxx").val(xxx_index.indexOf(data[0].xxx) + 1);
    body.find('select[name="xxx"]').next().find('.layui-select-title input').val(data[0].xxx);

    我是这样解决的,值是传了过去,就是生成的input没有改变
    0 回复
  • @忘绝尘 生成的自己加下 <option value="浙江" selected="">浙江省</option> selected
    0 回复