2017-07-12 6 views
1

を打つことができたらいいですか?ドロップダウンボックス(選択ボックス)または通常のテキストフィールドボックスのいずれかにいるときにと入力してください。jQueryとkeypressイベントの要素を掘り下げる

私の現在のHTMLコードは次のようになります。

<tr class="jsgrid-edit-row"> 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 100px;"> 
     <select> 
     <option value="1">SW</option> 
     <option value="2">HW</option> 
     </select> 
    </td> 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 80px;"> 
     <input type="text" /> 
    </td> 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 100px;"> 
     <select> 
     <option value="1">COMPUTER</option> 
     <option value="2">MONITOR</option> 
     <option value="3">NETWORK COMPONENTS</option> 
     <option value="4">OFFICE EQUIPMENT</option> 
     <option value="5">SOFTWARE</option> 
     <option value="6">STORAGE</option> 
     </select> 
    </td> 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 80px;"> 
     <input type="text" /> 
    </td> 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 80px;"> 
     <input type="text" /> 
    </td> 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 80px;"> 
     <input type="text" /> 
    </td>   
</tr> 

私は、次の操作を実行しようとしました:

$('.jsgrid-edit-row > input').keypress(function (e) { 
    var key = e.which; 

    console.log(e.which); 

    if (key == 13) // the enter key code 
    { 
     console.log('hit enter!'); 
     return false; 
    } 
}); 

.jsgrid編集行の使用>入力私はそれが見つけるだろう考え出しそのクラスの子にを移動し、の入力要素を探していますか?

私は間違って何をしていますか?ここで

答えて

1

あなたはもう一つの解決策https://jsfiddle.net/q7r4ccb4/1/

$('.jsgrid-edit-row > td > input').keypress(function (e) { 
 
    var key = e.which; 
 

 
    console.log(e.which); 
 

 
    if (key == 13) // the enter key code 
 
    { 
 
     console.log('hit enter!'); 
 
     return false; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
<tr class="jsgrid-edit-row"> 
 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 100px;"> 
 
     <select> 
 
     <option value="1">SW</option> 
 
     <option value="2">HW</option> 
 
     </select> 
 
    </td> 
 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 80px;"> 
 
     <input type="text" /> 
 
    </td> 
 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 100px;"> 
 
     <select> 
 
     <option value="1">COMPUTER</option> 
 
     <option value="2">MONITOR</option> 
 
     <option value="3">NETWORK COMPONENTS</option> 
 
     <option value="4">OFFICE EQUIPMENT</option> 
 
     <option value="5">SOFTWARE</option> 
 
     <option value="6">STORAGE</option> 
 
     </select> 
 
    </td> 
 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 80px;"> 
 
     <input type="text" /> 
 
    </td> 
 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 80px;"> 
 
     <input type="text" /> 
 
    </td> 
 
    <td class="jsgrid-cell jsgrid-align-left" style="width: 80px;"> 
 
     <input type="text" /> 
 
    </td>   
 
</tr> 
 
</table>
で行きます

+0

まあ、忘れたのは** td ** .. ugg ..ありがとうShaladitya! – StealthRT

0

使用この代わりに

$('.jsgrid-edit-row input').keypress(function (e) { 

jsgrid編集行クラスの内部に存在するすべての入力タグのこの構文を検索

+0

* "this this *"。 ..なぜ?説明はあまりありません。 – charlietfl

関連する問題