用点jquery替换逗号的最佳方法

时间:2018-03-16 09:52:15

标签: javascript jquery

我有一个字段,我需要用点,替换逗号. 做这个的最好方式是什么?

HTML表单 -

<input type="text" id="field_ce5yi-other_2-otext" class="frm_other_input frm_pos_none" name="item_meta[other][96]" value="" style="background-color: pink;">

Jquery(我的第一次尝试)

<script>
jQuery(document).ready(function($){
    $("#field_ce5yi-other_2-otext").keyup(function(){
        $("#field_ce5yi-other_2-otext").text($("#field_ce5yi-other_2-otext").text().replace(','.''))
    });
});
</script>

4 个答案:

答案 0 :(得分:1)

在您的代码中存在一些语法错误,但主要问题是当您需要使用val()作为输入时,您正在使用jQuery(document).ready(function($){ $("#field_ce5yi-other_2-otext").on('keyup',function(){ $("#field_ce5yi-other_2-otext").val($("#field_ce5yi-other_2-otext").val().replace(',','.')) }); });

这是一个有效的例子:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="field_ce5yi-other_2-otext" class="frm_other_input frm_pos_none" name="item_meta[other][96]" value="" style="background-color: pink;">
df <- ga$getData(id, batch =TRUE,
                           start="2017-01-01",
                           end="2017-12-31",
                           metrics="ga:users",
                           dimensions="ga:dimension1, ga:longitude,ga:latitude",
                           max=10000)  

答案 1 :(得分:0)

修复脚本: 使用val()而不是text()

<script>
jQuery(document).ready(function($){
    $("#field_ce5yi-other_2-otext").keyup(function(){
                $("#field_ce5yi-other_2-otext").val($("#field_ce5yi-other_2-otext").val().replace(',','.'));
    });
    });
 </script>

现在它应该可以工作。

答案 2 :(得分:0)

替换的语法与您的语法略有不同。基本上下面的内容会获取keyup上输入的值,用点替换逗号的所有实例(这就是“g”在替换中的作用 - 用于全局),然后将值重置为新字符串。请注意,逗号被转义(这就是反斜杠的用途)。

jQuery(document).ready(function($){
    $("#field_ce5yi-other_2-otext").keyup(function(){
        var enteredText = $(this).val();
        var newText = enteredText.replace(/\,/g,'.');
        $(this).val(newText);
  })
});

答案 3 :(得分:0)

如果您不需要支持古老的MSIE,只需执行此操作:

@JsonAdapter(Level.Serializer.class)
public enum Level {
    WTF(0),
    ERROR(1),
    WARNING(2),
    INFO(3),
    DEBUG(4),
    VERBOSE(5);

    int levelCode;

    Level(int levelCode) {
        this.levelCode = levelCode;
    }

    static Level getLevelByCode(int levelCode) {
        for (Level level : values())
            if (level.levelCode == levelCode) return level;
        return INFO;
    }

    static class Serializer implements JsonSerializer<Level>, JsonDeserializer<Level> {
        @Override
        public JsonElement serialize(Level src, Type typeOfSrc, JsonSerializationContext context) {
            return context.serialize(src.levelCode);
        }

        @Override
        public Level deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
            try {
                return getLevelByCode(json.getAsNumber().intValue());
            } catch (JsonParseException e) {
                return INFO;
            }
        }
    }
}

(这会将{{1>}字符的所有替换为$(function() { $("#field_ce5yi-other_2-otext").on('input', function() { var currValue = $(this).val().replace(/\,/g, '.'); $(this).val(currValue); }); });