3

我有一个带有 textarea 的 Bootstrap 模式。当您打开模式时,文本区域需要清除任何以前的文本,以便每次打开它时都是新鲜的。

问题是,第一次清除文本时,字段上的占位符也会被删除。

$('textarea').val('')用来清除文本。

http://jsfiddle.net/dkRS8/1/

4

4 回答 4

2

您需要触发该blur占位符再次出现的事件。它仅在隐藏事件期间有效,因此当它再次出现时,占位符被放回。

$('#modal').on('hide', function() {
    $(this).find('textarea').val('').blur();
});

工作jsfiddle

编辑:我错了,似乎只需将事件从 更改为 就可以正常工作,show正如hide马丁在他使用事件的回答中所解释的那样shown

于 2013-02-01T17:24:07.250 回答
2

当您注册到“显示”事件而不是“显示”事件时,它确实有效。

$(document).ready(function() {

    $('#modal').on('shown', function() {
        $(this).find('textarea').val('');
    });

});
于 2013-02-01T17:26:28.443 回答
0

尝试

$(document).ready(function() {
    $('#modal').bind('hide',function(){
        $('textarea',this).val('')
    })
});

多浏览器,jquery-ui 事件标准

于 2013-02-03T03:05:53.780 回答
-1

在 IE 版本中.. IE 10 仅支持占位符....所以不要在旧版本的 IE 上尝试此操作....

但其他浏览器,如 firefox、Chrome、Opera……都支持这个属性……

试试下面的代码它会帮助你...

更新小提琴:http: //jsfiddle.net/dkRS8/6/

$(document).ready(function() {

    $('#modal').on('show', function() {
        var ele = $(this).find('textarea');
        ele.val('');
    });

});
于 2013-02-01T17:26:10.280 回答