<fix>:(front-end):js got me

踩坑记录

  • input使用disabled属性`

    不是使用ajax提交表单数据。input标签通过jQuery增加disabled属性之后,并且使用了$('selector').val('value')更改其中的值,
    当提交表单后,后端取字段的值的时候取不到,返回来的页面的输入框周围一直显示红色并报错(该字段需要xxxx)。还尝试过$('selector').attr('value', 'value')以后,情况依旧。改disabled属性readonly之后,就可以了。

  • 事件委托

    因为要在前端上面对一些数据进行多选,并将选择的数据都放入到一个input标签中,并用逗号分隔。反过来,从输入框中获取其中的数据,然后根据里面的数据勾选checkbox

    问题来了,通过ajax获取回来json数据,然后渲染到前端页面上,最终显示的结果是生成多个checkbox,然后当鼠标勾选对应的checkbox时候,将checkbox上面绑定的值放入到input标签中,但情况是这样子并不成功。但是通过使用浏览器开发工具中的console可以达到想要的效果。
    刚开始的时候的代码是:

    1
    2
    3
    $('.selector input').click(function () {
    // do something
    })

    使用时间委托之后的代码:

    1
    2
    3
    $('body').on('click', '.tickets input', function () {
    // do something again as above
    })