2016-02-15 41 views
1

我有兩個字段(用戶名和電子郵件),我想用電子郵件字段的內容自動填充用戶名,因爲用戶名是隱藏的輸入。.keyup方法上的過濾器值JQuery

我只是需要在@domain.com之前的內容。現在我正在使用.keyup(),但我也可以使用.change()

我怎樣才能得到@domain.com之前的內容?

$('#id_email').keyup(function() { 
    $('#id_username').val($(this).val()); 
}); 

編輯:所有答案完美的作品,太感謝你了。

+1

無厘頭做整個地址在此之前使用'keyup'在 – charlietfl

+1

鍵入我會鼓勵你使用'input'事件,而不是'change'或'keyup'。 –

回答

3

還挺簡單的,但你可以這樣做

VAR電子郵件= 「[email protected]」; var username = email.split('@')[0];

這樣:

<script> 
 
    $('#id_email').change(function() { 
 
     var email = $(this).val(); 
 
     $('#id_username').val(email.split('@')[0]); 
 
    }); 
 
</script>

它將工作,但是,當然,假設一個有效的電子郵件地址。

1

試試這個...

$('#id_email').keyup(function() { 
    $('#id_username').val($(this).val().split('@')[0]); 
}); 
2

Dustin Simpson答案的一個編輯的版本,只是因爲我相信輸入它是這種東西,而不是更好KEYUP變化的,並且我們也不需要存儲任何電子郵件變量。

$('#id_email').on('input',function(){ 
    $('#id_username').val($(this).val().split('@')[0]); 
}); 

檢查fiddle

+0

希望@Dustin不要生氣;)我投了他的答案! – Vixed