首页 > 解决方案 > jQuery 句子大小写函数不断替换我的文本

问题描述

我正在尝试制作一个输入句案例工具,但是当我输入任何不同的内容时,它会不断返回 value="" 文本。

我想对粘贴或替换的文本进行例外处理。因此,当我在输入中键入一个新值时,它应该将该字符串返回到句子大小写中。

这是我制作的代码片段:

function capitalizeFirstLetter(string) {
  return string.charAt(0).toUpperCase() + string.slice(1);
}

var title = $("#essay-title").val();
var sentenceCaseTitle = capitalizeFirstLetter(title.toLowerCase());
    //alert( lowerCaseTitle );
function sentencecase() {
    $("#essay-title").trigger("change paste");
    $("#essay-title").val(sentenceCaseTitle);
}

https://jsfiddle.net/c105vedo/

标签: htmljquery

解决方案


var title = $("#essay-title").val();在页面访问时立即执行,因此它始终为空且未更新。将那部分移到里面sentencecase

function capitalizeFirstLetter(string) {
  return string.charAt(0).toUpperCase() + string.slice(1);
}

function sentencecase() {

  var title = $("#essay-title").val();
  var sentenceCaseTitle = capitalizeFirstLetter(title.toLowerCase());
  $("#essay-title").trigger("change paste");
  $("#essay-title").val(sentenceCaseTitle);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="essay-title" value="TEST TITLE">
<button type="button" onclick="sentencecase()">OK
</button>


推荐阅读