이 HTML 상자가 있습니다.
<span>Select depatament</span><span>
<select id="department" onchange="EnableSlaveSelectBox(this)" data-slaveelaments='{"a": 1, "b": "2"}'>
<option selected disabled>-Select-</option>
</select>
</span>
이벤트 onchange () 구현 :
function EnableSlaveSelectBox(element) {
var d = $('#department').data('slaveelaments');
alert($.parseJSON(d));
}
그러나 onchange () 이벤트가 시작되면 다음 행에 표시됩니다.
alert($.parseJSON(d));
이 오류 :
SyntaxError : JSON.parse : JSON 데이터의 1 행 2 열에 예기치 않은 문자가 있습니다.
return JSON.parse (data + "");
위의 오류가 발생하는 이유를 아십니까?
귀하의 경우에는 사용을하지 않아도 parseJSON
때문에, d
이다 Object
,
function EnableSlaveSelectBox(element) {
var d = $('#department').data('slaveelaments');
console.log(d.a);
console.log(d.b);
}
데이터 속성이 객체 ( '{'로 시작) 또는 배열 ( '['로 시작)이면 jQuery.parseJSON이 문자열을 구문 분석하는 데 사용됩니다. 인용 된 속성 이름을 포함하여 유효한 JSON 구문을 따라야합니다. 값이 JavaScript 값으로 파싱되지 않으면 문자열로 남습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다