繁体   English   中英

将数据剥离为数字和小数,然后jQuery将输入值设置为变量

[英]Strip data to number and decimal then jquery set input value to variable

我正在从加密的php脚本中获取数据,该脚本输出变量,例如%%Price%%

令人讨厌的是,这些变量不仅仅是十进制和数字值。

加密的脚本将%%Price%%呈现为:

<font color="green"><strong>Sale Price: $2,489.99</strong></font>

我想将%%Price%%的值剥离为价格(数字和小数),然后将结果放置在隐藏的表单字段中作为值。

我努力了:

<form id="add-to-cart">
    <input type="hidden" name="price" id="price" value=""/> 
    <button type="submit">  Review & Order</button> 
</form>

<script>
var price = "%%Price%%";
var newPrice = price.replace(/[^0-9\.]/g, '');
jQuery("#price").val(newPrice);
</script>

...但这给出的结果是空的

我会用:

newPrice = parseFloat(price.substring(2, price.length - 3));

我用jsfiddle检查了您的代码,看起来还可以。 在这里检查: http : //jsfiddle.net/CmHn6/1/ 我实际上替换了:

var price = "%%Price%%";

有:

var price = '<font color="green"><strong>Sale Price: $2,489.99</strong></font>';

如您在示例中所说。 注意,我在那里使用单引号。 如果您的加密脚本没有考虑到这一点,您的行可能会像下面这样结束:

var price = "<font color="green"><strong>Sale Price: $2,489.99</strong></font>";

这将导致语法错误,并且不会填写您的输入元素。 如果您的字符串从不使用单引号,则可以像我的示例一样在代码中使用单引号。 如果没有,您可以将%% Price %%放在一个隐藏的div中,然后从那里读取该值:

<div id="pricediv" display="style: none">%%Price%%</div>
<form id="add-to-cart">
    <input type="hidden" name="price" id="price" value=""/> 
    <button type="submit">  Review & Order</button> 
</form>

<script>
var price = $("#pricediv").html();
var newPrice = price.replace(/[^0-9\.]/g, '');
jQuery("#price").val(newPrice);
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM