[英]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.