(我希望我的头衔是可以理解的,这是很难去总结。)

我有一些脚本改变取决于所选择的单选按钮,你可以在这里看到一个形式里面的一些文字: http://jsbin.com/onowu/

的问题是,如果一些用户输入一些文字,然后点击一个其他单选按钮它会删除自己的文字。

我正在寻找一种方法改变灰色文本只有当不存在由用户填写任何文字。并且如果用户删除他的文本,它将填补空白与根据所选择的单选按钮的文本。

您可以在这里看到我的代码: http://jsbin.com/onowu/edit

有帮助吗?

解决方案

检查,查看是否输入具有类“提示”。只改变文本是它的作用。

完整的示例:

$(document).ready(function() {
    function setText(){
        var kf = this.title.split('|');
        if (kf.length < 0) return;
        if($('#' + this.name + '_text').hasClass('hint')){
            $('#' + this.name + '_text').val(kf[0]).addClass('hint');
        }
        $('#' + this.name + '_text').attr('title', kf[0]);
    }

    $("input[type='text']").inputdynvalue();
    $("input[type='radio']").click(setText);
});

此工作通过检查输入的文本框的类“暗示”和仅改变的时候才发现的值。作为由乔纳森·桑普森的评论中提到的” .focus()事件删除类‘提示’和.blur()事件再次增加它,如果没有文本已提供”。

我也跑通过 HTML验证服务通过提供代码W3C。 JavaScript可以是有趣的,如果你没有有效的代码。 (加上每个人都应该写有效HTML)

A也注意到你在你的代码中包括jQuery的两倍,我会建议你删除它们的其中之一。


更新(2009年7月10日):固定在下面的评论中提到的错误

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top