簡體   English   中英

如何啟用onclick清除輸入字段? jQuery的

[英]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');

http://jsfiddle.net/jruddell/FVqjQ/

要這樣內聯,您需要將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM