$('<p><input type="text" class = "class-'+ (++i) +'" onclick="'(+ this.value = ''; +)'" value="Enter Choice #' + i + '"/></p>')
我不确定这是否是正确的语法,但无论我使用什么都不行。有帮助吗?感谢
答案 0 :(得分:5)
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'));
});
});
上面的代码清除文本字段获得焦点时的值,并在textfield为空焦点时丢失焦点(模糊)时添加默认值。
更新了小提琴:http://jsfiddle.net/K3Sx7/4/
编辑:更新代码以符合问题。
答案 1 :(得分:3)
在输入字段中添加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
})
答案 2 :(得分:2)
我认为你可以在没有jQuery的情况下做到这一点 试试这个
<p><input type="text" class = "class-1" onclick="this.value='';" value="Enter Choice # 1"/></p>
答案 3 :(得分:0)
var i = 0;
$('<input type="text" class="class-'+ ++i +'" value="Enter Choice #' + i + '"/>')
.click(function(){
this.value = '';
})
.wrap('<p />')
.parent()
.appendTo('#container');
答案 4 :(得分:0)
要像这样内联,你需要将this.value=''
作为字符串的一部分:
$('<p><input type="text" class = "class-'+ (++i) +'" onclick="this.value=\'\'" value="Enter Choice #' + i + '"/></p>');
注意" onclick="this.value=\'\'"
,其中单引号被转义以防止主字符串被终止。