2014-11-24 54 views
0

我有一個輸入我需要上輸入keypress檢查if input = no, nope, none(等,多個字的予選擇)#preview容器具有值x,否則,預覽容器的值爲y如果輸入值=「字」

我至今不工作,我想不通爲什麼: jsFiddle

腳本:

$('input').bind('keypress', function(e) { 
    if(e.keyCode==13){ 

     if(('input').val() =='no'){ 

     $('#preview').html('No email').fadeIn(800); 

     }, else { 

     $('#preview').html('Email: ' + '<strong style="color:#fd8a64;">' + $(this).val().toLowerCase() + '</strong>').fadeIn(800); 

     } 
    } 
}); 
+1

檢查你總是安慰錯誤.. 2.語法錯誤在控制檯中清楚地陳述。此外,你可以使用'this.value'作爲'input [type = text]'而不是jQuery'.val' – 2014-11-24 14:10:17

+0

@vega忘記檢查...我很沮喪,爲什麼它不工作......謝謝 – Alin 2014-11-24 14:14:51

回答

1

嘗試使用此代碼:

$('input').bind('keypress', function(e) { 
    if(e.keyCode==13){ 

     if($(this).val() =='no'){ 

     $('#preview').html('No email').fadeIn(800); 

     } else { 

     $('#preview').html('Email: ' + '<strong style="color:#fd8a64;">' + $(this).val().toLowerCase() + '</strong>').fadeIn(800); 

     } 
    } 
}); 
+0

謝謝,我在輸入前忘了「$」..我會接受你的答案,因爲它是第一個,它的工作原理:D&a +1:D – Alin 2014-11-24 14:11:11

1

你的代碼中有語法錯誤。缺少$之前('輸入')和逗號之前else語句。

$('input').bind('keypress', function(e) { 
    if(e.keyCode==13){ 

     if($('input').val() =='no'){ 

      $('#preview').html('No email').fadeIn(800); 

     } else { 

      $('#preview').html('Email: ' + '<strong style="color:#fd8a64;">' + $(this).val().toLowerCase() + '</strong>').fadeIn(800); 

     } 
    } 
}); 

小提琴:在你的代碼http://jsfiddle.net/1bk0jqoy/2/

+0

在else語句之前你不需要逗號^^但是+1工作的例子:D謝謝,我簡直不敢相信我忘了$ ... – Alin 2014-11-24 14:12:35

1

你需要嘗試更換( '輸入')以$(本)

$('input').bind('keypress', function(e) { 
    if(e.keyCode==13){ 

     if(($this).val() =='no'){ 

     $('#preview').html('No email').fadeIn(800); 

     }, else { 

     $('#preview').html('Email: ' + '<strong style="color:#fd8a64;">' + $(this).val().toLowerCase() + '</strong>').fadeIn(800); 

     } 
    } 
}); 
+1

嗯,那肯定是訣竅,在你回答之後,我意識到我忘記了$(輸入)之前...傻了我,無論如何,+1的答案!謝謝 ! – Alin 2014-11-24 14:13:43

+0

高興它有助於:) @Alin – Haris 2014-11-24 14:48:57