그래서 먼저 코드 :jQuery를 덮어 쓰기 기능
$("input").on("keyup", function() {
var filled = $("input").filter(function() {
return this.value.length > 0;
});
1 부
if (filled.length < 1) {
var test= $('#test').val();
if (test == ""){
$('#test').css('border-color',green);
}
} else { ... }
2 부
if (filled.length > 0 && filled.length <= 4) {
$('#test').keyup(function() {
var test = $('#test').val();
if (test=="") {
$('#test').css('border-color',red);
}
}
});
이 선택 사항 4 개 텍스트 입력이 양식에서입니다 하지만 그들 중 하나에 사용자 필드가 있다면 그는 모두 그들 필드에 있어야합니다.
fill.length가 0보다 작고 < = 4 인 경우 필드가 필요하며 예를 들어 입력 테두리를 빨간색으로 지정하고 싶습니다.
하지만 fill.length가 < (= 0) 인 경우 모든 테두리가 녹색이되어야합니다.
문제는 내가 입력에 내용을 쓰고 모두 지우면 녹색으로 표시되지만 Part2가 Part1을 덮어 쓰면 빨간색으로 표시된다는 것입니다.
내 질문 :
- 어떻게 수정합니까?
- 이 문제의 원인은 어디입니까? (JQuery와 이론)
가까이 내가 가진 "오른쪽"코드 대체 1 부에 얻을 수 있습니다 : (키
if(filled.length < 1)
{
$('#test').keyup(function()
{
var test = $('#test').val();
if(test=="")
{
$('#test').css('border-color',green);
}
}
}
그러나 입력이 비어있을 때, 나는 한 번 더 삭제해야 부품 번호 1을 걷어차 고 부품 2를 교체하십시오.
추신 : 더 많은 코드가 필요하거나 문제에 대한 설명이 있으면 =로 문의하십시오.
편집
바이올린 : http://jsfiddle.net/WzE9k/13/. 코드는 정확히 같지 않지만 요점은 같습니다. 필드가 비어있을 때 "아무것도 쓰지 않습니다"는 표시해야하지만 그렇지 않습니다. Heres는
: // jsfiddle.그물 많은 코드 :). –
질문을 게시하기 전에 코드의 형식을 지정하십시오. 그것은 크게 대답 할 기회를 증가시킬 것입니다. – raina77ow
필자는 jsfiddle이 필요하다고 생각합니다. 필터 기능이 문제가되는 것처럼 느껴집니다. 각각을 수행 한 다음 함수를 호출하고 값을 확인하기위한 참조로 "this"를 사용하십시오. –