2016-11-21 41 views
0

我有以下要求:如何在JSP中實現「onKeyPress」?

在我的網頁上我標有「國家」的文本框。 現在,如果我在國家/地區的文本框中鍵入內容,則應該可以看到另一個標記爲「城市」的文本框。如果我不在國家的文本框中鍵入任何內容,則「城市」不應該可見。

我有以下的JSP在那裏這是我在輸入「國」:

<td width="20%"> 
    <s:label key="partner.Country" cssClass="Labels"></s:label> 
    <font color="#FF0000">*</font> 
</td> 
<td width="20%"> 
    <s:textfield id="id_PartnerNameRecv" name="partnerDetails.partnerNameRecv" cssClass="Rectangle-1-Copy-4">onchange="tnKeyPressForCity(this.value)"</s:textfield> 
</td> 

function tnKeyPressForCity(radioButtonObj){ 
    var keyPressed =radioButtonObj; 
    if (keyPressed != ""){ 
     $('#id_CityRecv').show(); 
    } 
} 

我不知道如何實現上述功能。這是我試圖創建我的功能。

+0

[檢測鍵在JSP(可能的重複http://stackoverflow.com/questions/31539730/detecting-key -press-in-jsp) – webmaster

+0

由於您使用'$',我希望您在使用Jquery之前使用Jquery庫。 – Samir

回答

0

嘗試使用像這樣的更好使用.addClass().removeClass()而不是.show()/hide()

<td width="20%"> 
    <s:label key="partner.Country" cssClass="Labels"></s:label> 
    <font color="#FF0000">*</font> 
</td> 
<td width="20%"> 
    <s:textfield id="id_PartnerNameRecv" name="partnerDetails.partnerNameRecv" cssClass="Rectangle-1-Copy-4"></s:textfield> 
</td> 

JS,

$("#id_PartnerNameRecv").on('keypress', function(){ 

    var keyPressed = $(this).val(); 
    if (keyPressed != ""){ 
     $('#id_CityRecv').addClass('show'); 
    }else{ 
     $('#id_CityRecv').removeClass('show'); 
    } 

}); 

CSS,

.show{ 
    display: block; 
} 
#id_CityRecv{ 
    display: none; 
} 
+0

非常感謝..它的工作現在.... – Som