"requestHistoryRequestType"이라는 선택 상자가 있습니다. 그 선택 상자의 값을 변경할 때 클래스 및 특성을 필드에 추가하고 내가 매개 변수로 전달하는 필드에 범위를 추가 할 수 있도록 일부 jQuery 쓰려고합니다.select input이 value와 같으면 변경하고, 변경하면 해당 변경 사항을 제거하십시오.
사용자가 EXPAPP 또는 EXPDEN을 선택한 후 해당 항목을 NA로 변경하면 이전 필드에서 추가 된 항목을 제거하고 다른 필드에 동일한 내용을 추가해야합니다. 설명하기가 어렵지만 질문을 멀리하십시오! 나는 이런 식으로 복잡한 jQuery를 작성하는 것에 다소 익숙하다.
, 가산 클래스 등을 수행하는 기능 : 변경 청취자에
function requiredField(requiredField) {
$(requiredField).parent().addClass('has-error');
$(requiredField).attr('data-rule-required', true);
$("label[for='" + requiredField.replace('#', '') + "']").append("<span style='color:#b94a48;' class='has-error has-tooltip' data-placement='right' title='Required Field'>*</span>");
}
실제 :
//Validations for EXPAPP, EXPDEN, and NA
$("#requestHistoryRequestType").on("change", function() {
if ($("#requestHistoryRequestType").val() === "EXPAPP" || $("#requestHistoryRequestType").val() === "EXPDEN"){
requiredField("#requestHistoryVerbalDateTime");
requiredField("#requestHistoryWrittenDateTime");
} else if ($("#requestHistoryRequestType").val() === "NA") {
requiredField("#requestHistoryComments");
}
});
덕분에 스택!
_ "복잡한 jQuery 작성"_이 것이 주된 문제이며 _complex_가되어서는 안됩니다. – undefined
이것은 재사용 가능한 것을 작성하려고 노력하고 있다는 점에서 복잡합니다. 따라서 함수입니다. – Devan
재사용 할 수있는 함수를 사용하는 것이 좋습니다. '("# requestHistoryRequestType") 대신에 DOM을 재 쿼리하는 대신 _changed_ 엘리먼트 (event_ _ 타겟)를 참조하는'this' 키워드를 사용할 수 있습니다. val() === "EXPDEN")'if ($ .inArray (this.value, [ 'one', 'two'])> -1)' – undefined