.prop()를 if 문에 사용하면 항상 false를 반환하는 이유를 이해하려고합니다. 내 목표는 "#manualOverrideNo"라디오 버튼이 선택된 경우에만 JS가 실행되도록하는 것입니다. 누군가가 나를 계몽 할 수 있다면 매우 감사 할 것입니다. 다시.prop if 문과 JQuery
if($('#manualOverrideNo').prop('checked')) {
//Code For Auto-complete
//Quantity for Posts
$('#footage').bind('keypress keydown keyup change', function(){
var footage = parseFloat($(':input[name="footage"]').val(),10);
var total = '';
if(!isNaN(footage)){
total = Math.ceil(footage /7);
}
$(':input[name="postQuantity"]').val(total.toString());
});
}
감사 :
HTML : 수동 오버라이드 (override)하는 :
<label>No<input type="radio" name="manualOverride"
id="manualOverrideNo" value="no" checked /></label>
<label>Yes<input type="radio" name="manualOverride"
id="manualOverrideYes" value="yes" /></label>
<label>Footage:<input type="number" id="footage"
name="footage" value="" /></label>
<label>Post Quantity:<input type="postQuantity"
name="postQuantity" id="postQuantity" value="" /></label>
JS뿐만 아니라 여기 - http://jsfiddle.net/gv0029/xEfw4/1/ - 여기에 코드 조각의 바이올린입니다! 모두 내 영웅이야!
몇 가지 팁 :'parseFloat'는 기수를 사용하지 않습니다. '.toString'은 불필요합니다. 왜냐하면'val()'이 그렇게 할 것이기 때문입니다. 새로운 버전의 jQuery ditch bind를 사용한다면'on'을 사용하십시오. – elclanrs
jsfiddle의 코드가 정상적으로 작동하는 것 같습니다. 무엇이 잘못 될지 더 자세히 설명해 주시겠습니까? – Pointy
당신은 jsfiddle에서 attr을 사용하고 있습니다. –