今日js心得

<input type="hidden" id="history_chart_json" 
    data-json="#{smartDeviceMonitorAction.jsonData}"
    value="#{smartDeviceMonitorAction.jsonData}" />

这个 smartDeviceMonitorAction.jsonData,是后台的一个 JsonObject 对象 toString 后的返回值

 将这个值放在 value 中和放在 data-name 中的区别是:

1、js在获取 value 的值的时候,获取到的是 json 字符串,而获取 data-name 中的值的时候,获取到的是 json 对象

2、当这个 jsonData 的值为空时,value 的值是空字符串,而 data-name 的值是undefined

两种方式如下:

var lcx1 = $("#history_chart_json").val();

var lcx2 = $("#history_chart_json").data("json");

很明显,当后台给前台一个json字符串的时候,希望js拿到的直接就是json对象,所以以后再有这种页面存值的情况,就直接存data-name中就好了

var jsondata = $("#history_chart_json").data("json") || {};
<input type="hidden" id="history_chart_json" data-json="#{smartDeviceMonitorAction.jsonData}" />
原文地址:https://www.cnblogs.com/LcxSummer/p/11435709.html