我使用html制作了表格。
一开始我真的很简单。我的输入是金额,用户可以输入。然后,我制作了javascript代码,以根据用户输入的金额计算动态价格。代码如下:
<input class="typeahead" type="text" placeholder="Amount" name="Gift-Card Amount"/>
JavaScript:
jQuery("input[name='Gift-Card Amount']").change(function () {
if (isNaN(parseFloat(this.value)) || !isFinite(this.value)) {
jQuery(this).val('');
return false;
}
var calc = parseFloat(this.value) * 0.95;
jQuery(this).parents("form").find("input[name='price']").val(calc);
});
计算结果为常数0.95。因此,我添加了一个新输入。商店名称。因此,用户可以输入商店名称。量:
<input class="stores typeahead" type="text" placeholder="Stores" name="name"/>
我希望价格根据商店名称和数量而变化。所以我创建了这个对象:
var stores = {
"McDonalds" : .90,
"Target" : .92,
}
var storeName = jQuery(this).parents("form").find("input[name='name']").val();
console.log(stores[storeName]);
因此,可以根据输入的商店名称用预设值代替该值(而不是常数0.95)。我不知道如何让这两个人一起工作。意思是,我该如何重新编码第一个javascript以重新编码var存储值而不是0.95?
jQuery("input[name='Gift-Card Amount']").change(function () {
var amount = parseFloat(this.value);
if (isNaN(amount) || !isFinite(amount)) {
jQuery(this).val('');
return false;
}
var storeName = jQuery(this).parents("form").find("input[name='name']").val();
if (storeName in stores) {
var calc = amount * stores[storeName];
jQuery(this).parents("form").find("input[name='price']").val(calc);
}
});
我还建议您Stores
从文本输入更改为<select>
。这样,您就不必依靠用户正确拼写商店(包括大写字母)了。
<select name="name" class="storeName">
<option value="">Please select a store</option>
<option value=".90">McDonalds</option>
<option value=".92">Target</option>
</select>
那你可以用
var calc = parseFloat(jQuery(this).parents("form").find(".storeName").val());
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句