如何在点击时用JavaScript替换HTML文档中2个常量之间的变量?

问题描述 投票:-1回答:1

我有这种情况,在html页面上我有一个输入,我必须能够用输入中的值替换两个常量之间的值。我将如何使用JavaScipt处理此问题?我想过使用正则表达式,但不知道如何定义两个常量。也许是这样的

var1 = textpart1;
var2 = textpart2;

然后也许吧。

$("#buttonelementID").click(function() {
    $("body").children().each(function() {
        $(this).html($(this).html().replace(/varX/g,"VALUE_FROM_INPUT"));
    });
});

但这将是用其他东西定期替换某些东西。一旦变量的旧值发生更改,脚本将无法再次更改它,因为脚本将无法找到变量的新值,因为它已经更改为其他值。如何定义脚本什么是varX和输入值?我有点失去了这片然后拼接的东西。也许这就是它应该如何运作。就像定义3个项目的数组,其中第二个项目是要更改的项目,但是我再也不知道如何定义它。问题是变量将介于两个永远不会改变的文本之间,所以我想我在这个问题的正确路径上。文本在文本框中,如果这很重要,但我想这不是。数组插入可以工作但不确定是否可以在一个位置插入变量以及如何定义数组项来自该html元素。任何帮助赞赏。谢谢!

javascript jquery variables replace constants
1个回答
0
投票

我解决了这个问题:

jQuery的

$("#apply").click(function() {
    $("body").children().each(function() {
        $(this).html($(this).html().replace(/(?<=\*).*?(?=\))/g,$("#cap").val()));
    });
}); 

这是HTML:

<div id="capping" class="panel-collapse collapse">
    <ul class="list-group">
        <li class="list-group-item">
            <label class="trackings">Hours:</label> <input type="number" min="1" class="select-selected" id="cap" name="cap" size="1" maxlength="3"> 
        </li>
    </ul>
        <button id="apply" type="submit" class="btn btn-primary">
        Apply
        </button>
</div>

我正在寻找的字符串是在a和a之间,因此正则表达式和我想要接收值的输入具有名为input的元素id。现在我有另一个问题。正如我所料,这只能工作一次,但是一旦点击了带有元素id的应用按钮,该值就会从输入字段中消失。任何想法如何使每次点击无论输入当前值是什么而不使输入字段中的值消失?答案中的问题......好的。

© www.soinside.com 2019 - 2024. All rights reserved.