私の現在のコードは、有効な電子メールの場合は入力フィールドの境界線の色を緑に変更し、無効な電子メールの場合は赤に変更します。
html:
<input class="ui_input2 no_space" id="input_email" type="email" name="email" style="height:25px; width:300px; font-size:16px;" required />
jQuery:
$(document).ready(function() {
$('#input_email').keyup(function() {
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
var val_i_email = $("#input_email").val();
var empty = false;
$('#input_email').each(function() {
if (val_i_email < 5 || !emailReg.test(val_i_email)) {
empty = true;
}
});
if (empty) {
$(this).addClass("invalid");
$(this).removeClass("valid");
} else {
$(this).addClass("valid");
$(this).removeClass("invalid");
}
});
});
入力するとすべてが完全に機能しますが、オプション (例: 以前に使用した電子メール) をクリックした場合、テキストを少し編集しない限り、境界線の色は変わらないようです。
スクリーンショット:
上記の強調表示されたオプションをクリックしました。結果は次のとおりです。
自動的に提案されたオプションをクリックしたときに、別の機能または同じ機能を再度実行する方法はありますか?
jsfiddle