好的,我有javascript来计算HTML表单的动态价格。代码如下:
jQuery("input[name='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);
});
这个,输入:
<input class="irrelevant typeahead" type="text" placeholder="Amount" name="Amount"/>
javascript获取该值,计算价格,我希望它填写此内容:
<input type="hidden" name="price" value=""/>
我相信我的javascript是正确的。为了让它起作用,我需要做些什么呢?
答案 0 :(得分:0)
确保将这些项目包装在<form>
标记中。
<form>
<input class="irrelevant typeahead" type="text" placeholder="Amount" name="Amount"/>
<br />
<input type="hidden" name="price" value=""/>
</form>
jQuery("input[name='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);
});
我在这里有一个工作演示:http://jsfiddle.net/P55ge/
在演示中,我将价格输入设为文本字段而不是隐藏字段,以便于查看设置的值。
另请注意,只有在输入有效数字然后单击字段输入时才会更新该字段。以下引用来自.change()
http://api.jquery.com/change/
现在,当从下拉列表中选择第二个选项时,警报就是 显示。如果更改字段中的文本,也会显示它 然后单击。如果该领域在没有内容的情况下失去焦点 但是,这个事件没有被触发。