[英]How can do I enable onclick to clear an input field? Jquery
$('<p><input type="text" class = "class-'+ (++i) +'" onclick="'(+ this.value = ''; +)'" value="Enter Choice #' + i + '"/></p>')
我不確定這是否是正確的語法,但是我正在使用的任何東西都不起作用。 有幫助嗎? 謝謝
HTML:
<input type="text" class="class-1" value="Enter Choice #1">
<input type="text" class="class-2" value="Enter Choice #2">
JQUERY:
$(document).ready(function() {
$('input[class^="class-"]').focus(function() {
var $input = $(this);
if($input.val() == $input.data('default_val') || !$input.data('default_val')) {
$input.data('default_val', $input.val());
$input.val('');
}
});
$('input[class^="class-"]').blur(function() {
var $input = $(this);
if ($input.val() == '') $input.val($input.data('default_val'));
});
});
上面的代碼清除文本字段獲得焦點時的值,並在失去焦點(模糊)時文本字段為空時添加默認值。
更新的小提琴: http : //jsfiddle.net/K3Sx7/4/
編輯:更新代碼以符合問題。
在您的輸入字段中添加一個ID:
<input id="myinput"...
然后將此代碼添加到您的$(document).ready(...
調用中:
$('#myinput') // get element whose id is 'myinput'
.click(function() { // bind a click handler
$(this).val('') // clear field
.unbind('click'); // unbind click handler to avoid field being cleared again
})
我想你可以不用jQuery就能做到這一點
<p><input type="text" class = "class-1" onclick="this.value='';" value="Enter Choice # 1"/></p>
var i = 0;
$('<input type="text" class="class-'+ ++i +'" value="Enter Choice #' + i + '"/>')
.click(function(){
this.value = '';
})
.wrap('<p />')
.parent()
.appendTo('#container');
要這樣內聯,您需要將this.value=''
保留為字符串的一部分:
$('<p><input type="text" class = "class-'+ (++i) +'" onclick="this.value=\'\'" value="Enter Choice #' + i + '"/></p>');
請注意" onclick="this.value=\\'\\'"
,在其中單引號被轉義以防止主字符串終止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.