如何将html元素添加到当前textarea值,并将其输出为原始html

时间:2013-09-29 09:58:51

标签: javascript html

我需要设置添加到 textarea 中的用户的总费用。

我有这段代码:

$("#student_teacher_profile_for_teaching_amount").keyup(function(e) {
    var new_str, price, regex, str;
    regex = /[0-9]+\.[0-9]{1,2}|[0-9]/;
    str = $(this).val();
    console.log(str);
    price = str.match(regex);
    if(price) {
        if( $("#to_teach_ammount").length > 0 ) { 
            $("#to_teach_ammount").html(price[0]);
        } else {
            new_str = str.replace(regex, "<span id='to_teach_ammount'>" + price[0] + "</span>");
            $(this).val(new_str);
        }
        $("#to_teach_total").val(price[0]); #this is and hiddent input filed
    }
});

因此我得到了:

some text before numbers <span id='to_teach_ammount'>2</span>

在我的文本区域。

如何将其转换为原始HTML?

2 个答案:

答案 0 :(得分:1)

对于只接受纯文本的公共<textarea>元素,这是不可能的。您将不得不使用(富文本)-plugin,例如使用jQuery。看看这里:http://www.strangeplanet.fr/work/jquery-highlighttextarea/

答案 1 :(得分:0)

to_teach_total不应该是textarea。相反,它应该是一个期望html的元素

然后使用$(this).html(new_str)来设置html

这个html()方法也可以传递一个函数,该函数可以将旧的html作为参数并返回一个新的字符串以设置为新的html