【问题标题】:Replace function does not work替换功能不起作用
【发布时间】:2015-11-28 10:33:01
【问题描述】:

我想将“İ”字符替换为“i”。此代码在页面中没有其他 jquery 库的情况下完美运行。但它不适用于自动完成脚本。

$k(document).ready(function(){   
    $k(".replace").on("keyup", function(){
        str = $k(this).val();
        var dizi = { "İ": "i" };
        str = str.replace(/(([İı]))+/g, function(harf){ return dizi[harf];     })
        $k(this).val(str);
    });   
});

有没有办法解决它或任何其他代码都可以使用。

谢谢...

【问题讨论】:

  • 你的意思是如果你点击了建议
  • 你能创建 plunkr 来演示这个问题吗?
  • 你在.replace选择器中使用$而不是$k

标签: javascript jquery replace


【解决方案1】:

你也可以用

触发你的函数
$(document).ready(function(){
  $('.replace').focusout(function(){
      str = $(this).val();
      var dizi = { "İ": "i" };
      str = str.replace(/(([İı]))+/g, function(harf){ return dizi[harf];});
      $(this).val(str);
   }).keyup(function() {
      str = $(this).val();
      var dizi = { "İ": "i" };
      str = str.replace(/(([İı]))+/g, function(harf){ return dizi[harf];});
      $(this).val(str);
   });
 });

更新:

$(document).ready(function(){
    $(document).delegate('.ac_even', 'click', function(){
        str = $('.replace').val();
        str = str.replace('İ', 'i'); 
        $('.replace').val(str);
    });
    $('.replace').focusout(function(){
      str = $(this).val();
      str = str.replace('İ', 'i');
      $(this).val(str);
   }).keyup(function() {
      str = $(this).val();
      str = str.replace("İ", "i");
      $(this).val(str);
   });
});

见: How do you trigger autocomplete "select" event manually in jQueryUI?

所以如果你专注并且如果你在键盘上敲击输入/文本区域并且会做一些事情,这将起作用。

【讨论】:

  • 非常感谢,但我不明白我会做什么。
  • 如果您点击某个字符或离开输入/文本区域,您的替换功能将触发。
  • 如果可以,我会的。我不知道在哪里写什么
  • 已编辑,你是土耳其人吗?如果是的话,我可以用土耳其语告诉你你是怎么做的。告诉我这是否对您有帮助。
  • Valla doğru diyorsun。 Ama verdiğin kod çalışmadı。自动完成 ile çakışıyor sanırım。 Birini kaldırınca diğeri çalışıyor çünkü。
猜你喜欢
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-04
  • 2015-08-22
  • 1970-01-01
  • 1970-01-01
  • 2016-11-14
相关资源
最近更新 更多