2016-07-05 1 views
0

요소가 비어 있지 않을 때 jquery를 사용하여 요소의 테두리 색상을 변경하려고합니다. 내가 뭘 찾았는지부터 모든 것이 옳은 것처럼 보이지만, 나는 여전히 그것을 작동시키는 것처럼 보이지 않습니다. 여기 버튼 클릭시 빈 경우 입력의 테두리 색상 변경

내 JS 바이올린입니다 : https://jsfiddle.net/jessica_mather123/ez3tgnvc/1/

HTML

Text <input type="text"> 
<button>Click Me</button> 

JQuery와

$("button").on("click",function(){ 
    if($("[type='text']").val() == null){ 
     $(this).css("border","2px solid red"); 
    } 
}); 
+2

if($("[type='text']").val() == "")에 사용을 변경해야하는 경우 ($ ("[유형 = '텍스트']"). 발() == "") {}'. –

+3

당신은 당신의 피들에 JQuery를 포함하지 않았으며,이 문맥에서 '$ (this)'는 텍스트 필드가 아니라 클릭 한 버튼을 의미합니다. – DBS

+0

죄송합니다. 그것에 관해서는 변화가 있었을 수도 있습니다. –

답변

0
  • 당신은 내부
  • $(this) jQuery를 (How to add jQuery to JSfiddle 얼마나 참조)를 포함하지 않았다에은 입력이 아닌 버튼을 나타냅니다. 그래서 당신은 더 나은 그래서 $("input[type='text']")

로 교체 것, 작업 데모는이 https://jsfiddle.net/ez3tgnvc/10/

$("button").on("click",function(){ 
    var input = $("input[type='text']"); 
    if(!input.val()){ 
     input.css("border","2px solid red"); 
    } 
}); 

if(!input.val()) 입력 변수가 비어 null 또는 정의되지 않은 경우 사실 같은 것이다.

+0

* "데모"*가 적절한 대답이 아닙니다. 코드 자체를 응답에 넣고 데모를 사용하여 대답을 지원하십시오. 질의 응답은 자체 포함되어야 함 – charlietfl

+0

이것은 매우 유용했습니다! 고맙습니다! –

+0

비교적 단순한 조건문에 대한 질문이므로 새로운 독자에게 설명하기 위해'! input.val()'을 설명 할 것을 제안합니다. – DBS

1

.val() 메서드는 배열을 반환하고 null은 일치하는 항목이없는 경우에만 반환됩니다.

그래서 당신은`if($("[type='text']").val() == null)

Updated Fiddle