1

我有一个文本框,可以从用户那里获取多个电子邮件 ID。并在工具提示中显示它,但我需要在新行上显示每封电子邮件(用逗号分隔)。
为此,需要检测逗号并为其添加换行符。

HTML 是

  <input type="text" id="email"> <div id="ttip"></div>

用于工具提示的 jquery

$("#email").keyup(showTooltip);

var showTooltip = function(e) {
    var tooltip = $(this).val();
    if (tooltip == '') {
        hideTooltip();
    } else if (e.which == 188) {
        tooltip += "<br>";
        $("#ttip").fadeIn().html(tooltip);
    } else {
        $("#ttip").fadeIn().html(tooltip);
    }
}​

因此,当我的工具提示在 div 中显示时,它没有检测到<br>并且显示在同一行。
我该如何解决?

4

3 回答 3

5

尝试:

$("#email").keyup(showTooltip);

            var showTooltip=function(e){
            var tooltip=$(this).val();
                    if(tooltip ==''){
                            hideTooltip();
                    }else if(e.which == 188){
                           tooltip = tooltip.replace(/,/g,"<br />");
                            $("#ttip").fadeIn().html(tooltip);
                    }else{              
                            $("#ttip").fadeIn().html(tooltip);
                    }   
            }
于 2012-09-25T13:14:24.650 回答
1

您每次都在撤消先前的更改。在替换值之前不要检查是否输入了逗号。

var showTooltip = function(e) {
    var tooltip = $(this).val();
    if (tooltip == '') {
        hideTooltip();
    } else {
        tooltip = tooltip.replace(/,/g, '<br />');
        $("#ttip").fadeIn().html(tooltip);
    }
}
$("#email").keyup(showTooltip);​

在这里查看:http: //jsfiddle.net/lnrb0b/NK65G/ (我已经注释掉了,hideTooltip()因为我没有这个功能)

于 2012-09-25T13:23:00.243 回答
1

所以这有效:http: //jsfiddle.net/ZgmFw/4/

var showTooltip = function(e) {
    var tooltip = $(this).val();
    if (tooltip == '') {
        hideTooltip();
    } else {
        $("#ttip").html(tooltip.replace(/,/g, "<br />")).fadeIn();
    }
}


$("#email").keyup(showTooltip);​
于 2012-09-25T13:26:10.843 回答