2016-01-20 77 views
-1

如何在選擇元素時刪除值?JQuery根據當前文本替換輸入文本

<input type="text" value="Name" /> 

如果選擇了輸入框,如單擊鼠標單擊,我想清除該值。如果此輸入框沒有輸入值,我想恢復股票價值,在這種情況下,「名稱」。但是,如果框中存在「空白空間」以外的內容,則會保留該字符串值。

$('input').on('select', function() { 
    if(this).val() == 'Name') { 
     $(this).val(''); 
    }; 
}); 

$('input'.on('unselect', function() { 
    if($(this).val() == '') { 
     $(this).val('Name'); 
    }; 
}); 

我非常清楚'select'和'unselect'是不正確的。

+4

建議:使用''代替。這是HTML5規範的一部分,並且由(相對)現代的瀏覽器支持。簡單得多! – dsh

+0

酷,這是最好的解決方案,我不能標記爲評論的正確答案,雖然:/ – marcwebdude

+0

是一個投票真的有必要嗎? – marcwebdude

回答

4

使用focusblur事件:

$('input').on('focus', function() { 
    if($(this).val() == 'Name') { 
     $(this).val(''); 
    }; 
}); 

$('input'.on('blur', function() { 
    if($(this).val() == '') { 
     $(this).val('Name'); 
    }; 
}); 

或者,使用HTML placeholder屬性:

<input type="text" placeholder="Name" />