Javascript 如何启用onclick以清除输入字段?滑动分页 $(“

Javascript 如何启用onclick以清除输入字段?滑动分页 $(“,javascript,jquery,Javascript,Jquery,”) 我不确定这是否是正确的语法,但我使用的任何东西都不起作用。有什么帮助吗?谢谢我想你不用jQuery也能做到 试试这个 $('<p><input type="text" class = "class-'+ (++i) +'" onclick="'(+ this.value = ''; +)'" value="Enter Choice #' + i + '"/></p>') var i=0; $('') 。单击(函数(){ 这个值=“”; }) .w

”)
我不确定这是否是正确的语法,但我使用的任何东西都不起作用。有什么帮助吗?谢谢

我想你不用jQuery也能做到 试试这个

$('<p><input type="text" class = "class-'+ (++i)  +'" onclick="'(+ this.value = ''; +)'" value="Enter Choice #' + i + '"/></p>')

var i=0;
$('')
。单击(函数(){
这个值=“”;
})
.wrap(“

”) .parent() .appendTo(“#container”);

HTML:

var i = 0;
$('<input type="text" class="class-'+ ++i +'" value="Enter Choice #' + i + '"/>')
   .click(function(){
       this.value = '';
    })
    .wrap('<p />')
    .parent()
    .appendTo('#container');
上面的代码在textfields获得焦点时清除该值,并在失去焦点(模糊)时textfield为空时添加默认值

更新小提琴:


编辑:更新代码以符合问题。

将id添加到输入字段:

$(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'));
    });
});

要这样内联执行,需要将
this.value='
作为字符串的一部分:

$('#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
     })
$('

');
请注意
“onclick=“this.value=\'\'”
,其中单引号被转义以防止主字符串终止


您想做什么?修改现有元素?创建新元素?我已经尝试过了,但不允许在代码中添加。我不确定appendto如何工作。我只能从列表中删除,不能添加到输入列表。@harrison-.appendto()。如果您展示更多的代码,我可以帮助您集成解决方案。类需要保持不变,因为它是代码的另一部分所需要的。我也尝试过这一点,但由于某些原因它似乎不起作用。虽然这似乎是合理的。我不确定这是否是因为我没有正确实现它。您确定使用jQuery吗?您的问题和接受的答案都不直接涉及jQuery功能。请记住在元素添加到正文后调用我编写的代码,否则它将无法工作。@哈里森:不客气。如果您只想在存在默认值时清除输入,请在字符串中添加
If(this.value==this.defaultValue)
$(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'));
    });
});
<input id="myinput"...
$('#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
     })
$('<p><input type="text" class = "class-'+ (++i) +'" onclick="this.value=\'\'" value="Enter Choice #' + i + '"/></p>');