我正在创建一个订单表单,用户可以在其中选择一定数量的产品,并且应该立即更改总价格。我做了一些HTML标记和jquery代码来实现这一点,但我无法让它工作。谁能看到我做错了什么?
答案 0 :(得分:3)
修正脚本:
$("input[type=number]").change(function () {
var value = parseFloat($(this).attr("title"));
var total = (value * this.value).toFixed(2);
if (total < 0) total = 0;
$(this).parent().next().find("input").val('€' + total);
});
事件处理程序this
内部引用HTMLInputElement,而不是jQuery实例,因此您必须将其包装在$(this)
中。
此外,您需要遍历一个级别到父节点,然后使用next()
来获取目标输入字段。
最后,我添加了基本验证以防止负价格。您还可以将min="0"
属性添加到输入字段。