【问题标题】:Why is jquery not allowing ascii characters to display in html?为什么 jquery 不允许 ascii 字符在 html 中显示?
【发布时间】:2013-01-09 04:22:36
【问题描述】:

我正在使用一个 jquery 字符计数器并将它与我在 Codeigniter 中的表单助手集成。我已经让一切正常工作,但是当我使用这个脚本时,括号没有出现。我输入了它们并使用了 ascii 代码,它们只有在我取下脚本时才会出现。

知道这可能是什么吗?

提前致谢。

javascript:

<script>
    function updateCountdown_mylife() {
        var remaining = 1340 - jQuery('.message_mylife').val().length;
        jQuery('#mylife').text(remaining + ' characters remaining.');
    }

    jQuery(document).ready(function($) {
        updateCountdown_mylife();
        $('.message_mylife').change(updateCountdown_mylife);
        $('.message_mylife').keyup(updateCountdown_mylife);
    });

    function updateCountdown_occupation() {
        var remaining = 200 - jQuery('.message_occupation').val().length;
        jQuery('#occupation').text(remaining + ' characters remaining.');
    }

    jQuery(document).ready(function($) {
        updateCountdown_occupation();
        $('.message_occupation').change(updateCountdown_occupation);
        $('.message_occupation').keyup(updateCountdown_occupation);
    });
    </script>

html:

My Life <br /><span class="title_sub_text">Tell us a about yourself</span> <span class="edit_sub_text" id="mylife">&#40;1350 character limit&#41;</span>

文本区域:

<div class="edit_text_area">        
            <?php 

            if(empty($user['mylife']))
            {
                $data = array('name' => 'mylife', 'class' => 'message_mylife');
                echo form_textarea($data);
            }
            else
            {
                $data = array('name' => 'mylife', 'class' => 'message_mylife');
                echo form_textarea($data, $user['mylife']);
            }


            ?>
        </div>

提前

【问题讨论】:

  • 我没有看到问题 - 请检查这个 jsFiddle:jsfiddle.net/GjRYL - 您可以修改相同的内容以复制问题
  • @VinayC 问题出在那个小提琴的链接上。它应该打印(1350 个字符限制)而不是 1350 个字符限制
  • 如果这就是你所追求的,请看我的回答。

标签: jquery html ascii


【解决方案1】:

如果我明白您在说什么,那么括号不会显示,因为您正在覆盖跨度文本并且在覆盖时没有将括号放在那里。比如updateCountdown_mylife中的相关代码不应该修改为

jQuery('#mylife').text('(' + remaining + ' characters remaining)');

注意其中包含的括号。同样要在启动时显示(1350 character limit),只需在启动代码中注释掉updateCountdown_mylife调用,即

jQuery(document).ready(function($) {
        // updateCountdown_mylife(); // this line would modify span text at start-up
        $('.message_mylife').change(updateCountdown_mylife);

我已经用这些更改修改了 JS fiddle - 看看 here: http://jsfiddle.net/GjRYL/1/ - 希望这就是你所追求的。

【讨论】:

  • 这就是我想要的。谢谢。
猜你喜欢
  • 2012-12-14
  • 1970-01-01
  • 2014-09-14
  • 1970-01-01
  • 2021-07-18
  • 2021-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多