2017-02-19 14 views
-5

我有一个小型的HTML网页,有很多表显示各种项目的价格(见下面的例子)。更改所有价格(数字)与网页上的20%

<!DOCTYPE html> 
<html> 
<head> 
</head> 
<body> 
    <table border="1"> 
    <tr> 
     <td>1</td> 
     <td>Item 1</td> 
     <td>$40</td> 
    </tr> 
    <tr> 
     <td>2</td> 
     <td>Item 2</td> 
     <td>$20</td> 
    </tr> 
    <tr> 
     <td>3</td> 
     <td>Item 3</td> 
     <td>$50</td> 
    </tr> 
    </table> 
</body> 

问题是,我们需要一些方法,只需按下按钮,用20%的折扣代替所有价格。我试图谷歌不同的选择,但无法弄清楚这里最好的解决方案。

如何创建某种脚本来搜索价格并将其替换为“价格x 0.8”,或者如果有某种方法可以输入实际价格“40美元”和折扣价格“32美元”并仅显示当时一个。

或者是更好的解决方案,只需创建一个额外的价格折扣重复页面,并链接到那一个?

最好的问候,亚历山大

+3

欢迎计算器!请记住,Java!= Javascript,它们就像汽车和地毯一样。 –

+0

这真的是wordpress吗?如果是的话,你可以运行一个数据库查询 – nogad

+0

是的,有一种方法,JavaScript。至于正确的脚本来使它工作,你将需要提供你一直在处理的代码的例子。实质上,父亲在这里帮助解决代码问题,而不是为你编码。 – Chris

回答

0

请问以下帮助:

var currentMode = 1; 
 
var discount = 0.20; 
 
var reverseDiscount = 1/(1-discount); 
 

 
function togglePrices() { 
 
    var prices = document.getElementsByClassName("price"); 
 
    for (var i = 0; i < prices.length; i++) { 
 
    var individualPrice = prices[i].innerHTML.substring(1); 
 
    
 
    if(currentMode == 1) { 
 
     individualPrice = parseFloat(individualPrice) * (1-discount); 
 
    } else { 
 
     individualPrice = parseFloat(individualPrice) * reverseDiscount; 
 
    } 
 

 
    prices[i].innerHTML = "$" + individualPrice; 
 
    } 
 
    currentMode = (++currentMode) % 2; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
</head> 
 
<body> 
 
    <table border="1"> 
 
    <tr> 
 
     <td>1</td> 
 
     <td>Item 1</td> 
 
     <td><span class="price" >$40</span></td> 
 
    </tr> 
 
    <tr> 
 
     <td>2</td> 
 
     <td>Item 2</td> 
 
     <td><span class="price" >$20</span></td> 
 
    </tr> 
 
    <tr> 
 
     <td>3</td> 
 
     <td>Item 3</td> 
 
     <td><span class="price" >$50</span></td> 
 
    </tr> 
 
    </table> 
 
</body> 
 

 

 
<button type="button" onclick="togglePrices()">Toggle Discounts</button> 
 
</body> 
 
</html>

+0

这就是我正在寻找的东西,你甚至为我做了所有的工作!非常感谢:) – thor

+0

@thor:不是问题。但请确保将来您提供了一些代码片段。 :)另外,请将答案标记为已接受。 – uautkarsh