首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery语句大小写函数不断替换我的文本

jQuery语句大小写函数不断替换我的文本
EN

Stack Overflow用户
提问于 2021-09-03 08:21:46
回答 2查看 20关注 0票数 1

我试图制作一个输入句子大小写工具,但是当我键入任何不同的内容时,它会不断地返回value="“文本。

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

下面是我编写的代码片段:

代码语言:javascript
复制
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/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-03 08:25:45

var title = $("#essay-title").val();在页面访问时立即执行,因此它始终是空的,不更新。将该部分移动到sentencecase

代码语言:javascript
复制
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);
}
代码语言:javascript
复制
<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>

票数 2
EN

Stack Overflow用户

发布于 2021-09-03 08:25:46

您必须将以下代码移动到sentencecase函数中,

代码语言:javascript
复制
var title = $("#essay-title").val();
var sentenceCaseTitle = capitalizeFirstLetter(title.toLowerCase());

问题是,如果上面的代码在函数之外,它将只执行一次,所以这就是为什么您一直得到相同的值。

Demo

代码语言:javascript
复制
function capitalizeFirstLetter(string) {
  return string.charAt(0).toUpperCase() + string.slice(1);
}

//alert( lowerCaseTitle );
function sentencecase() {
  var title = $("#essay-title").val();
  var sentenceCaseTitle = capitalizeFirstLetter(title.toLowerCase());
  $("#essay-title").trigger("change paste");
  $("#essay-title").val(sentenceCaseTitle);
}
代码语言:javascript
复制
<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>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69041700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档