0

姓と名の両方を必要とするアプリケーションがあります。ユーザー名を提案するためにユーザーが姓名を入力すると、ユーザー名フィールドが自動的に入力されるようにする必要があります。今のところ、それはある程度機能しています。これは、名前フィールドのキーアップで実行される関数です。

suggestUsername: function() {
  var username = this.$('#user_login_field').val();
  var first = this.$('#user_first_name_field').val();
  var last = this.$('#user_last_name_field').val();
  if(first == '' && last == ''){
    this.$('#user_login_field').val('');
  } else {
    this.$('#user_login_field').val(first+'.'+last);
  }
},

これは、ユーザーが手動でユーザー名に何かを追加してから、名前フィールドの 1 つに戻って別の何かを入力しない限り機能します。その場合、ユーザーが手動で追加したものはすべて消えます。それを修正する方法がわからない

4

2 に答える 2

0

jQuery フォーカス ハンドラーを #user_login_field に追加して、キープレス イベントを姓名フィールドからアンバインドします。(http://api.jquery.com/focus/)

$('#user_login_field').focus(function (e) {
  // Unbind the keyup events
  $('#user_first_name_field').unbind('keypress');
  $('#user_last_name_field').unbind('keypress');
});
于 2012-08-17T18:39:36.043 に答える
0

を追加できます

$('#user_last_name_field').blur(function(){
     //do username suggestion
 })
于 2012-08-17T18:40:06.800 に答える