채택완료

indexOf의 결과값에 대한 alert...........

2020-11-30 (월) 23:30:29 2,060
Copy
<script>
    $('#wr_content').change(function(){ // 내용키워드
        var txt = $(this).val();
        if(txt.indexOf('사과') != -1){
            alert('사과는 맛있습니다.');
        }else if(txt.indexOf('바나나') != -1){
            alert('바나나는 길어요..');
        }else if(txt.indexOf('딸기') != -1){
            alert('딸기는 달아요.');
        }
    });
</script>

안녕하세요.

위와 같이 했을대

사과 또는 바나나 또는 딸기 를 입력했을때

각각의 문구가 나옵니다.

그런데

사과와 딸기 = 라고 입력하면

사과의 결과만 나오고

바나나와 딸기 = 라고 입력하면

바나나의 결과만 나옵니다.

저는

사과와 바나나와 딸기 라고 입력하면

각각의 결과값으로

alert 이 3개 나왔으면 좋겠습니다. ㅠㅠ

어떻게해야하는지요?~ㅠㅠ

공부하고 있는데 너무 어렵네요.~

|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트

if문에서 else if를 사용할 경우 가장 먼저 만족된 조건만 실행되고 if문이 종료됩니다.

각각의 조건식을 한 번씩 실행하고 싶으신 거라면

Copy
$("#wr_content").change(function () {

            var txt = $(this).val();

            if (txt.indexOf("사과") != -1) {

                alert("사과는 맛있습니다.");

            }

            if (txt.indexOf("바나나") != -1) {

                alert("바나나는 길어요..");

            }

            if (txt.indexOf("딸기") != -1) {

                alert("딸기는 달아요.");

            }

        });

위와 같이 한번씩 if문을 걸어줄 수 있을 듯합니다.

답변에 대한 댓글 3개

네 감사합니다.
죄송합니다만 추가로 질문드려도 될련지요??ㅠ

절대값으로 "바나나" 가 아닌
두글자씩 "바나" 또는 "나나" 도 서치될수 있게 할 수 있는지요?ㅠㅠ
if (txt.indexOf("바나") != -1 || txt.indexOf("나나") != -1) {
alert("바나나는 길어요..");
}

|| 는 논리 연산자로, or와 같은 역할을 합니다.
감사합니다.^_______________^
2020-12-01 (화) 06:04:34

if( 사과 ...)

if( 바나나...)

if( 딸기...)

2020-11-30 (월) 23:54:15

else if를 if로 해보세요

답변을 작성하려면 로그인이 필요합니다.