2014-02-10 91 views
0

我是新來的Javascript和jQuery的場景。我試圖創建一個關鍵字搜索,當單擊一個按鈕時,文本框中的短語在文本區域中給出特定的答案。我創建了兩個包含關鍵字的數組,但我不知道如何讓程序查找關鍵字並用答案作出迴應。簡單的關鍵字搜索輸入和輸出

下面是HTML

<div id="AskAQuestion"> 

    <div id="questionsArea"> 
     <div class="questionAreaSpacing"><input type="text" name="questionTxt" id="questionTxt"></div> 
     <textarea readonly id="answerArea"> 

     </textarea> 

     <div class="questionAreaSpacing"><input type="submit" name="answerBtn" id="answerBtn" value="Click Me!"></div> 
    </div> 
</div> 

和這裏的腳本:

<script> 
var quesArr = ["redcom","google", "orange"]; 
var ansArr = ["test 1","test 2","test 3"]; 

function getAnswer(){ 
}; 


function answer(){ 
    if ($("#questionTxt").val().toLowerCase().string. == getAnswer()){ 
     $('#answerArea').html(""); 
    } 
    else if($("#questionTxt").val() != getAnswer()){ 
     $('#answerArea').html('You didn\'t say the magic word'); 
    } 
    else if($("#questionTxt").val() == ""){ 
     $('#answerArea').html('what are you thinking'); 
    } 
}; 

$("#answerBtn").click(function(){ 
    answer(); 
}); 


$("#questionTxt").keyup(function(e){ 
    if(e.keyCode == 13){ 
     $("#answerBtn").click(); 
    } 
}); 

</script> 

請幫助我,我想學習如何做到這一點不好:(

+0

您剛剛火的事件上onkeypress事件事件和呼籲該行此功能 – Jain

+0

語法錯誤:。'如果($( 「#questionTxt」)VAL()toLowerCase()的字符串。 == getAnswer()){'。在'string'之後移除'.'。假設不在那裏的 – Sionnach733

+0

。這是從另一個失敗的嘗試另一個.....我有問題做什麼檢查,看看是否在數組中的關鍵字是正確的,並吐出匹配的答案。 – Scooter

回答

0

你可以做到這一點將該問題作爲參數傳遞給該函數,然後通過quesArr循環查看其是否存在並打印出相應的答案:

var quesArr = ["redcom","google", "orange"]; 
var ansArr = ["test 1","test 2","test 3"]; 

function getAnswer(question){ 
    var questionIsPresent = false; 

    //loop through array to see if question is present 
    for (var i = 0; i < quesArr.length; i++) { 
     if(quesArr[i] === question){ 
       $('#answerArea').html(ansArr[i]); 
       questionIsPresent = true; 
     } 
    } 

    if(questionIsPresent == false){ 
     $('#answerArea').html('You didn\'t say the magic word'); 
    } 

    if(question == ""){ 
     $('#answerArea').html('what are you thinking'); 
    } 
}; 

$("#answerBtn").click(function(){ 
    //pass in the question to the function 
    getAnswer($("#questionTxt").val().toLowerCase()); 
}); 

$("#questionTxt").keyup(function(e){ 
    if(e.keyCode == 13){ 
     $("#answerBtn").click(); 
    } 
}); 

FIDDLE

+0

這對您有幫助嗎?考慮接受答案。 – Sionnach733