0

我有一个需要名字和姓氏的应用程序。当用户输入他们的名字和姓氏以建议用户名时,我需要让用户名字段自动填写。现在,它在一定程度上起作用。这是在名称字段的 keyup 上执行的函数。

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);
  }
},

除非用户手动将某些内容添加到用户名,然后返回到名称字段之一并输入其他内容,否则此方法有效。在这种情况下,用户手动添加的任何内容都会消失。不知道如何修复它

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 回答