Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JQuery将动态创建的输入字段中的值相乘_Javascript_Jquery_Parent_Siblings - Fatal编程技术网

Javascript 使用JQuery将动态创建的输入字段中的值相乘

Javascript 使用JQuery将动态创建的输入字段中的值相乘,javascript,jquery,parent,siblings,Javascript,Jquery,Parent,Siblings,我使用JQuery动态创建表行。每行包含3个文本字段。当用户在文本字段中键入时,将克隆表行,并根据需要添加多行。一切都很好 数值输入到前两个字段中,并将其相乘。输出将自动显示在第三个文本框中。由于输入字段是克隆的,我不能使用getElementById来运行函数&将值相乘 我被告知使用父母兄弟姐妹使用onchange,但我不知道如何做到这一点。有人能给我举个例子吗 以下是我在JS Fiddle中的代码示例:将此代码添加到脚本中,它将完成您想要的计算: $("table select").on("

我使用JQuery动态创建表行。每行包含3个文本字段。当用户在文本字段中键入时,将克隆表行,并根据需要添加多行。一切都很好

数值输入到前两个字段中,并将其相乘。输出将自动显示在第三个文本框中。由于输入字段是克隆的,我不能使用getElementById来运行函数&将值相乘

我被告知使用父母兄弟姐妹使用
onchange
,但我不知道如何做到这一点。有人能给我举个例子吗


以下是我在JS Fiddle中的代码示例:

将此代码添加到脚本中,它将完成您想要的计算:

$("table select").on("change", function(){
var x=$(this).find(":selected").val();
var y=$(this).closest("td").siblings().find(":selected").val();
$(this).closest("td").siblings().find("input").val(x*y);
});

由于您是在动态添加内容,因此应该使用事件委派来侦听更改事件。通过将其附加到表来执行此操作。因此,倾听输入的变化。检测到更改后,通过查找DOM获得行,并选择需要乘法的输入。由于ID必须是唯一的,所以不能使用ID,因此请使用类来引用元素

$(“表”)。关于(“更改”、“输入”,函数(){//使用事件委派
var tableRow=$(this).closest(“tr”);//从输入查找行
var one=Number(tableRow.find(“.one”).val();//获取第一个文本框
var two=Number(tableRow.find(“.two”).val();//获取第二个文本框
var total=1*2;//计算总数
tableRow.find(“.three”).val(总计);//设置值
});
$(“button.add”)。在(“单击”,函数()上{
var tbody=$(“表tbody”);
tbody.find(“tr:eq(0)”).clone().appendTo(tbody.find(“input”).val(“”);
});


添加
从前两个字段中获取值并将其相乘。当然,但老实说,你不应该试图回答一个如此糟糕的问题,因为这不可能给出足够公正的相关答案。我想他可能已经看到了打开函数的可能性。JS Fiddle已经发布,请随意修改您的答案。(我没有投反对票)谢谢,我现在更新了答案。它是按要求做的。那么,你现在的问题是什么?你想把我所做的调整到你的身上?我不会做你所有的工作。嗨,你的代码对我很有用。谢谢,你能解释一下如何求所有class=“三”的和吗。展示