결과가 PHP 쪽에서 발생했으며 json_encode
은 모든 값을 문자열로 보냅니다 (원래 형식이 아님). quote_tax
에 오는 문자열은 1|0
물론이 예를 들어 true|false
입니다 :Javascript에서 삼항 연산자를 사용하는 부울에 대한 문자열?
{
"country_id": "3",
"country_name": "Italy",
"contract_tax": "1",
"quote_tax": "0",
"contract_inflation": "0",
"quote_inflation": "0"
}
:
data.quote_tax == '1'
? $('#contract_tax').val(1).attr('checked', 'checked')
: $('#contract_tax').val(0).removeAttr('checked');
나는 정수로 변환하는 데 약 .parseInt()
을 알지 못했다하지만 난 같은 비교를해야 다음 생각하지만,이 경우는 INT
과 비교 :
data.quote_tax == 1
? $('#contract_tax').val(1).attr('checked', 'checked')
: $('#contract_tax').val(0).removeAttr('checked');
나는이 방법으로 시도 :
Boolean(data.quote_tax) == true
? $('#contract_tax').val(1).attr('checked', 'checked')
: $('#contract_tax').val(0).removeAttr('checked');
을 그리고 Boolean(data.quote_tax)
항상 true
경우에도 data.quote_tax = '0'
으로 평가하기 때문에 작동하지 않습니다.
나는 이미이 게시물을 점검하지만 적절한 해결책을 찾을 수 없습니다 :
이 작업을 수행하려면 여기를 또는 얼마나 문제가 있는지 어떤 아이디어?
''0 ''은 비어 있지 않은 문자열이므로 사실입니다. '''와'0'은 거짓입니다. 'Boolean (Number (data.quote_tax)) == true' 또는 단순히'+ data.quote_tax'를 조건으로 사용하십시오. – Xufox