这应该不会太难,你需要一个 div,它的内容在输入框的 keyup 事件上更新:
这有点来自记忆,可能需要一些调整,但它应该让你走上正确的道路:
= fb.input :short_statement, :label => 'Describe yourself! (25 words) ' , :input_html => {:id => "bio_prof_stmt" }, :onkeyup => "update_word_count(this);"
我认为这是正确的haml语法,如果不是,请纠正我:
#word-count-container
预期的html:
<div id="word-count-container"></div>
Javascript:
<script type="text/javascript">
function update_word_count(object) {
words = object.value.match(/\S+/g).length.toString();
$('#word-count-container').innerHTML = words + " out of 25 used";
}
</script>
替代 UJS 方法(从输入中删除 onkeyup 标签):
<script type="text/javascript">
$('#short_statement').onkeyup(function() {
update_word_count(this);
});
function update_word_count(object) {
words = object.value.match(/\S+/g).length.toString();
$('#word-count-container').innerHTML = words + " out of 25 used";
}
</script>