0

我需要为在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?

4

2 回答 2

1

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

于 2013-09-29T10:08:04.867 回答
0

to_teach_total 不应该是文本区域。相反,它应该是一个需要 html 的元素

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

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

于 2013-09-29T10:05:37.463 回答