1

ユーザーから複数のメールIDを取得するテキストボックスが1つあります。ツールチップに表示しますが、各メール(コンマで区切る)を新しい行に表示する必要があります。
そのためには、カンマを検出して改行文字を追加する必要があります。

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 に答える