如何在特定标记周围附加或包装文本

时间:2011-05-23 03:15:39

标签: jquery append

在选择菜单中,我有各种bbcodes。我想知道如何从{b}代码中包含/附加来自#message的用户输入,如[b] USER-HAS-TYPED-SOMETHING [/ b]并将结果输出到<pre id="display"></pre>

DEMO - http://jsfiddle.net/kwicher/ypmfK/2/

1 个答案:

答案 0 :(得分:0)

   $(document).ready(function() {
    $('#enableuserreply').click(function() {

        var dis = $(this).prop('checked') ? "" : "disabled";

        $("#usernames").prop('disabled', dis);
    });
    $('#enapletexteffect').click(function() {

        var dis = $(this).prop('checked') ? "" : "disabled";

        $("#boxcode").prop('disabled', dis);
        $("#colors").prop('disabled', dis);
    });

    $('#message').keyup(function(){   

        if ($('#enableuserreply').is(':checked')) {
            var msg = $("#usernames option:selected").text() + " has typed ";

            var boxcode = $("#boxcode option:selected").attr('value');

            var  message = $('#message').val();
            msg = msg + message ;

            var boxcodeArr = new Array();

            if(boxcode){
                boxcode = $.trim(boxcode.replace('[', '<'));
                boxcode = $.trim(boxcode.replace('[/', ',</'));
                boxcode = $.trim(boxcode.replace(']', '>'));
                boxcode = $.trim(boxcode.replace(']', '>'));
                boxcodeArr = boxcode.split(',');  
                 msg = boxcodeArr[0] + msg + boxcodeArr[1] ;         
            }

            $("#display").html(msg);  
            var color = $("#colors option:selected").attr('value');

            if(color) {
               $("#display").css('color', color);
            }


        }

    });
});

这是完整的代码。它正在工作:)