가정 선택 여부에 관계없이 선택된 authorities
(但如果存在,我希望选择它们)。如果没有选中的authorities
,我希望jQuery选择authorities
가 있는지 확실하지 않습니다(실제로는 숨겨진 입력 값을 검색한다는 의미). 이 상황을 처리하기 위해 JS의 "참 값"/"거짓 값" 개념을 사용하는 것에 대한 내 생각은 다음과 같습니다.
그러나 작동하지 않습니다. 흥미롭게도 아래 코드 조각에서는 작동합니다. val()
在匹配失败时返回的undefined
不是“假值”吗?想想看!我最好的猜测是,当解析undefined
时,JSON.parse()
가 제가 바라는 "거짓 값"을 반환하는 대신 오류를 발생시킬 수 있을까요? 이 방법은 "param OR param"을 허용하지 않습니다. 그렇죠?
이 상황에 대한 폴백 을 어떻게 제공해야 한다고 생각하시나요? (물론 선택한 authorities
의 "거짓 값"을 개별적으로 확인하는 것이 약간 장황합니다.)
<头>
<元字符集=“UTF-8”>
<标题>관리페이지标题>
头>
<正文>
<标题>
이름
성
학과
이메일
标题>
<正文>
존
미국 에너지부
IT
john_d@gmail.com
제인
미국 에너지부
인사
jane_d@gmail.com
表>
양식을 작성해주세요
<表格>
<标签=“名称”>이름: 标签>
形式>
<脚本>
$(문서).ready(함수() {
$('form').on('submit', 비동기 함수(이벤트) {
event.preventDefault();
$('tbody').append(
`
${$(this).find('[name=name]').val()}
${$(this).find('[name=성]').val()}
${$(this).find('[name=department]').val()}
${$(this).find('[name=email]').val() || '해당 사항 없음'}
`
);
const SubmitButton = $(this).find('[type=submit]');
상수 형식 = $(this);
제출 버튼.removeClass('btn-primary')
.addClass('btn-성공')
.attr('value', '사용자가 추가되었습니다!')
.attr('유형', '버튼')
.click(() => $('[href="#users-table"]').tab('show'));
setTimeout(함수(){
commitButton.removeClass('btn-성공')
.addClass('btn-기본')
.attr('값', '제출')
.attr('유형모든 응답(2)나는 대답할 것이다
P粉8183062802023-09-11 00:47:41
문제는 선택기가 일치하는 항목을 찾지 못하면 .val()
返回undefined
,而JSON.parse(undefined)
예외가 발생한다는 것입니다.
JSON.parse()
인수 목록에서 폴백을 실행하면 성공적으로 얻은 값을 구문 분석할 수 있습니다.
으아악회신하다0P粉5613239752023-09-11 00:35:45
사용 방법에 따라 몇 가지 옵션이 있습니다:
- 이렇게 결합할 수 있습니다
JSON.parse
。这将使它在解析之前回退到其他字符串,因此如果第一个值是undefined
,它不会出错。但是,如果两个值都是undefined
. 아니면 그 중 하나가 잘못된 JSON이므로 오류가 발생합니다.
으아악
- 값이 유효한 JSON이거나
undefined
,您可以回退到null
。 null
유효한 JSON 값임을 알고 있는 경우 구문 분석할 수 있습니다. 그러나 값 중 하나라도 잘못된 JSON이 있으면 오류가 계속 발생합니다.
으아악
- 둘 중 하나의 값이 잘못된 JSON일 가능성이 있는 경우 해당 값을 try/catch 블록으로 묶을 수 있습니다. 이렇게 하면 유효하지 않은 경우에도 오류가 발생하지 않습니다. 이것은 가장 안전한 선택이며 결코 잘못되지 않을 것입니다.
으아악회신하다0취소