라디오 버튼 "Checked"속성이 작동하지 않음
라디오 버튼은 checked
기본적으로 표시되지 않습니다 . 매우 간단한 js 유효성 검사를 수행하는 기본 선택없이 시작했지만 작동하지 않았습니다. 그래서 나는 그것을 알아 내고 이상한 일이 일어나고 있음을 발견 할 때까지 기본값을 사용하기로 결정했습니다.
마크 업이 유효하고 FF, Safari 및 Chrome에서 시도했습니다. 아무것도 작동하지 않습니다.
jQuery
호출 스크립트를 제거하면 문제가 사라지기 때문에 라이브러리 와의 충돌이라고 생각합니다 .
<label>Do you want to accept American Express?</label> Yes
<input id="amex" style="width: 20px;" type='radio' name='Contact0_AmericanExpress' value='1' /> No
<input style="width: 20px;" type='radio' name='Contact0_AmericanExpress' class='check' value='0' checked="checked" />
확인 된 속성을 가진 동일한 이름이 여러 개인 경우 페이지에서 마지막으로 확인 된 라디오를 사용합니다.
<form>
<label>Do you want to accept American Express?</label>
Yes<input id="amex" style="width: 20px;" type="radio" name="Contact0_AmericanExpress" />
maybe<input id="amex" style="width: 20px;" type="radio" name="Contact0_AmericanExpress" checked="checked" />
No<input style="width: 20px;" type="radio" name="Contact0_AmericanExpress" class="check" checked="checked" />
</form>
다음과 같을 수 있습니다.
jQuery 1.9.1의 라디오 버튼에 버그가 있습니까?
요컨대 : 라디오 버튼을 확인하기 위해 attr () 대신 prop ()을 사용하지 마십시오. 세상에 JS가 싫어 ...
라디오 입력이 '체크 됨'이 작동하려면 양식 내에 있어야합니다.
이 성가신 문제에 대한 궁극적 인 JavaScript 해결 방법-
jQuery 명령을 setTimeout
. 간격은 매우 작을 수 있으며 10
밀리 초를 사용 하며 잘 작동하는 것 같습니다. 지연이 너무 작아서 최종 사용자가 거의 감지 할 수 없습니다.
setTimeout(function(){
$("#radio-element").attr('checked','checked');
},10);
이것은 또한 작동합니다
$("#radio-element").trigger('click');
$("#radio-element").attr('checked',true);
$("#radio-element").attr('checked',ANYTHING_THAT_IS_NOT_FALSE);
Hacky ... hacky ... hacky ... hacky ... 예 알아요 ... 따라서 이것은 해결 방법입니다 ....
아약스 생성 페이지에서 비슷한 문제에 직면했습니다. FF에서 Webdeveloper 플러그인을 사용하여 생성 된 소스를 가져 와서 양식의 모든 입력을 확인한 결과 숨겨진 div (display : none) 안에 또 다른 확인란이 있음을 알았습니다. 같은 아이디로 두 번째 체크 박스의 아이디를 변경하면 동작이 시작됩니다 .. 시도해보고 결과를 알려주세요 .. 건배
코드를 http://jsfiddle.net/fY4F9/에 복사했습니다.
기본적으로 아니오가 선택됩니다. 라디오 박스에 영향을주는 자바 스크립트가 실행되고 있습니까?
jQuery 문서는 속성 대 속성에 대한 자세한 설명을checked
제공 합니다 .
따라서 선택한 라디오 버튼 값을 검색하는 또 다른 방법이 있습니다.
var accepted = $('input[name="Contact0_AmericanExpress"]:checked').val();
안녕하세요 두 번째 입력에 id 속성을 넣고 고유 한 ID 값을 제공하면 작동 할 것이라고 생각합니다.
<label>Do you want to accept American Express?</label>
Yes<input id="amex" style="width: 20px;" type='radio' name='Contact0_AmericanExpress' value='1'/>
No<input style="width: 20px;" id="amex0" type='radio' name='Contact0_AmericanExpress' class='check' value='0' checked="checked"/>
코드가 맞습니다. JQuery 스크립트를 디버깅하여 문제를 찾으십시오! FF를 사용하는 경우 JS (및 JQuery)를 디버그하는 확장을 설치할 수 있습니다. FireBug라고합니다.
input
다음과 같이 두 그룹의 입력에 대해 태그 이름을 동일하게 설정하여이를 재현 할 수 있습니다.
<body>
<div>
<div>
<h3>Header1</h3>
</div>
<div>
<input type="radio" name="gender" id="male_1" value="male"> Male<br>
<input type="radio" name="gender" id="female_1" value="female" checked="checked"> Female<br>
<input type="submit" value="Submit">
</div>
</div>
<div>
<div>
<h3>Header2</h3>
</div>
<div>
<input type="radio" name="gender" id="male_2" value="male"> Male<br>
<input type="radio" name="gender" id="female_2" value="female" checked="checked"> Female<br>
<input type="submit" value="Submit">
</div>
</div>
</body>
다음 두 가지 솔루션 모두 문제를 해결합니다.
- 두 번째 그룹의 입력에 다른 이름을 사용하십시오.
- 그룹 중 하나에
form
태그 대신div
태그를 사용 합니다 (이 방법으로 문제가 해결되는 실제 이유를 알 수 없습니다. 이에 대한 의견을 듣고 싶습니다!)
**Radio button aria-checked: true or false one at a time**
$('input:radio[name=anynameofinput]').change(function() {
if (this.value === 'value1') {
$("#id1").attr("aria-checked","true");
$("#id2").attr("aria-checked","false");
}
else if (this.value === 'value2') {;
$("#id2").attr("aria-checked","true");
$("#id1").attr("aria-checked","false");
}
});
기본적으로 체크 할 각 라디오에 체크 된 속성을 추가하기 만하면됩니다.
이 시도 :
<input style="width: 20px;" type="radio" name="Contact0_AmericanExpress" class="check" checked/>
비표준 xhtml 코드를 사용하고 있습니다 (값은 작은 따옴표가 아니라 큰 따옴표로 묶어야합니다).
이 시도:
<form>
<label>Do you want to accept American Express?</label>
Yes<input id="amex" style="width: 20px;" type="radio" name="Contact0_AmericanExpress" />
No<input style="width: 20px;" type="radio" name="Contact0_AmericanExpress" class="check" checked="checked" />
</form>
참고 URL : https://stackoverflow.com/questions/3606657/radio-buttons-checked-attribute-not-working
'program tip' 카테고리의 다른 글
Webpack-dev-server는 파일을 컴파일하지만 브라우저에서 컴파일 된 자바 스크립트를 새로 고치거나 사용할 수 있도록하지 않습니다. (0) | 2020.11.21 |
---|---|
OpenCV에서 RGB를 흑백으로 변환 (0) | 2020.11.20 |
list.files ()와 같이 디렉토리 내의 디렉토리 목록을 얻는 방법 대신 "list.dirs ()" (0) | 2020.11.20 |
Eclipse의 프록시 설정을 사용하지 않는 Maven 플러그인 (0) | 2020.11.20 |
추상 클래스의 getClass ()는 모호한 메서드 호출을 제공합니다. (0) | 2020.11.20 |